Django Cookie实现反爬

该博客介绍了如何使用Django框架创建一个反爬机制,通过在重定向过程中设置和验证signed_cookie来确保用户访问的安全性。在views.py中,当用户访问特定页面时,会检查是否存在特定的Cookie,如果存在并能成功解密验证,则允许访问,否则返回404错误。此方法提供了一种简单有效的防止非法爬虫的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Django Cookie实现反爬

创建新项目,创建一个APP,blog,添加APP设置路由这些也不过多的叙述我们直接看blog_urls.py

path('', views.index2, name='index'),
    path('create', views.create, name='create'),
    path('myCookie', views.myCookies, name='myCookies'),

views.py

def index2(request):
    return render(request, 'index3.html')  # 定义首页


def create(request):
    r = redirect(reverse('blog:index'))  # 解析路由重定向路由
    r.set_signed_cookie('uuid', 'id', salt='MyDj', max_age=10)  # 在重定向过程中加入Cookie信息salt为加密盐
    return r  # 依旧是返回首页不过是加入了cookie信息


def myCookies(request):
    cookieExist = request.COOKIES.get('uuid', '')  # 获取coolie信息
    if cookieExist:
        try:
            request.get_signed_cookie('uuid', salt='MyDj')  # 请求获取cookie解密并且验证
        except:
            raise Http404("当前Cookies,无效")
        return HttpResponse('当前Cookie为:' + cookieExist)
    else:
        raise Http404('当前访问没有Cookie哦!')

index3.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Hello Cookies</title>
</head>
<body>
<a href="{% url 'blog:create' %}">创建Cookie</a>
<a href="{% url 'blog:myCookies' %}">查看Cookie</a>
</body>
</html>

由上面可以看出反爬机制设置的页面是myCookies,其实质就是对于特定的Cookie进行解密后的数据进行判断

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值