Redis小案例(一):实现网站访问频率限制

本文介绍了如何利用Redis进行网站访问频率限制,包括使用EXPIRE进行限制和使用列表优化限制策略,防止恶意爬虫和高流量时期的过度访问。通过设置键的过期时间和使用列表保存访问时间戳,确保访问控制的准确性和安全性。
摘要由CSDN通过智能技术生成

网站中经常需要用到网站限流,例如限制用户恶意爬虫获取网页信息以及在网站访问流量大时限制访问频率等等,这里使用redis做一个简单的网站登录限制案例。

原文链接:Redis小案例(一):实现网站访问频率限制

一、使用EXPIRE进行访问频率限制

逻辑:用户登入网页,判断是否为第一次登入,如果是,创建一个新键记录访问次数为1,并设置超时时间。后面再登入时先判断键是否存在且大于访问次数限制,如果是的话,返回错误,否则就把访问次数+1,返回正常页面。

# -*- coding: utf8 -*-

import web
import redis

"""
LIMIT_TIME:在多长的时间范围内
LIMIT_TIMES:最多访问多少次
"""
LIMIT_TIMES = 3
LIMIT_TIME = 60

conn = redis.StrictRedis()

"""
路由处理
"""
urls = (
    "/", "Index"
)

class Index:
    @staticmethod
    def __mk_h1(data):
        return "<title>HelloWorld</title><div align=center><h1>%s</h1></div>" % data

    def __not_first_visit(self, key_name, user):
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值