有时候可能会想要向用户展示一个授权页面/知情同意,但是很明显直接把授权和正式的两个页面的url区分开是不大好的,可以通过构造url进行跳过。
一般来讲最常见的是显示一个浮窗,点击同意才能继续,但是对原有的dom可能造成一定破坏,其实可以简单地通过request.method
进行区分,GET返回授权页,POST返回正式内容,在授权页加一个form,post到""。只是注意这可能需要对POST的来源(referer
)进行一个检查或者加上csrf_token,同时在代码里对request.method
检查的时候,使用
request.method == 'POST'
进行判断,而不是
request.method == 'GET'
2019年的一个Github漏洞是因为使用了第二种方法然后把HEAD请求识别为POST然后错误地进行了授权。
本文由 hunsh 创作,采用 知识共享署名4.0 国际许可协议进行许可
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
最后编辑时间为: Mar 16, 2021 at 02:14 pm