Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
基于用户get请求的Django CSRF保护_Django_Get_Csrf_Middleware - Fatal编程技术网

基于用户get请求的Django CSRF保护

基于用户get请求的Django CSRF保护,django,get,csrf,middleware,Django,Get,Csrf,Middleware,我在django应用程序中有以下“个人资料”视图: @需要登录\u def用户_配置文件(请求): 当前用户=request.user 学生档案=获取对象或404(学生、学生用户=当前用户) reviews=StudentReview.objects.filter(target\u student=student\u profile.reverse()) 对于审查中的stu_审查: stu_review.review_seen=True stu_review.save() 上下文={ “用户”

我在django应用程序中有以下“个人资料”视图:

@需要登录\u
def用户_配置文件(请求):
当前用户=request.user
学生档案=获取对象或404(学生、学生用户=当前用户)
reviews=StudentReview.objects.filter(target\u student=student\u profile.reverse())
对于审查中的stu_审查:
stu_review.review_seen=True
stu_review.save()
上下文={
“用户”:当前用户,
“档案”:学生档案,
“评论”:评论,
'is_logged_in':request.user.is_身份验证,
}

返回呈现(请求'polls/profile.html',context)
GET请求不受Django的CSRF中间件的保护。CSRF攻击是可能的,但不会透露任何信息

CSRF攻击的工作方式是攻击者欺骗用户(受害者)访问特定页面。由于该页面是由受害者访问的,因此可以使用受害者的登录会话而不是攻击者的登录会话来授权该页面上的任何操作。但是,由于受害者访问了该页面,因此也会将响应发送给受害者。攻击者无法读取响应(除非其他漏洞允许,例如XSS)


在这个特定的示例中,CSRF攻击只能将针对受害者的评论标记为可见,而受害者实际上看不到。您需要确定这是无害的还是实际的问题。

GET请求不受Django的CSRF中间件的保护。CSRF攻击是可能的,但不会透露任何信息

CSRF攻击的工作方式是攻击者欺骗用户(受害者)访问特定页面。由于该页面是由受害者访问的,因此可以使用受害者的登录会话而不是攻击者的登录会话来授权该页面上的任何操作。但是,由于受害者访问了该页面,因此也会将响应发送给受害者。攻击者无法读取响应(除非其他漏洞允许,例如XSS)

在这个特定的示例中,CSRF攻击只能将针对受害者的评论标记为可见,而受害者实际上看不到。你需要决定这是无害的还是实际的问题