码迷,mamicode.com
首页 > 其他好文 > 详细

csrf_token 验证

时间:2021-05-24 16:00:37      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:mit   return   hid   csrf   http   成功   cti   ken   col   

在django 中运用 csrf_token 验证,

排除一些跨站请求攻击。

首先在settings.py文件中 打开 csrf中间件

MIDDLEWARE = [
    django.middleware.security.SecurityMiddleware,
    django.contrib.sessions.middleware.SessionMiddleware,
    django.middleware.common.CommonMiddleware,
    ‘django.middleware.csrf.CsrfViewMiddleware‘,   
    django.contrib.auth.middleware.AuthenticationMiddleware,
    django.contrib.messages.middleware.MessageMiddleware,
    django.middleware.clickjacking.XFrameOptionsMiddleware,
]

 

然后在提交表单中设置csrf字符串

<form method="post" action="csrf1.html">
    {% csrf_token %}  
    <input type="text" name="name" />
    <input type="submit" value="提交" />
</form>

 

在html文件源码查看中 会看到一个type=“hidden”的一个文本框,表示成功

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<form method="post" action="csrf1.html">
    <input type="hidden" name="csrfmiddlewaretoken" value="q9ENddNVdkalIiUwomlM2BbbKWr8CJolKv0FqFAw9G0rt0pXr4Zof9VPYPu01ekS">
    <input type="text" name="name" />
    <input type="submit" value="提交" />
</form>

</body>
</html>

 

在django框架中的urls.py文件设置好,并在html页面中测试,出现OK字样表示csrf验证成功

def csrf1(request):
    if request.method == GET:
        return render(request,"csrf1.html")
    else:
        return HttpResponse(OK)

 

csrf_token 验证

标签:mit   return   hid   csrf   http   成功   cti   ken   col   

原文地址:https://www.cnblogs.com/juices/p/14783940.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!