标签: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‘)
标签:mit return hid csrf http 成功 cti ken col
原文地址:https://www.cnblogs.com/juices/p/14783940.html