如何简单地隐藏某个页面

有时候可能会想要向用户展示一个授权页面/知情同意,但是很明显直接把授权和正式的两个页面的 url 区分开是不大好的,可以通过构造 url 进行跳过。

一般来讲最常见的是显示一个浮窗,点击同意才能继续,但是对原有的 dom 可能造成一定破坏,其实可以简单地通过request.method进行区分,GET 返回授权页,POST 返回正式内容,在授权页加一个 form,post 到””。只是注意这可能需要对 POST 的来源(referer)进行一个检查或者加上 csrf_token,同时在代码里对request.method检查的时候,使用

1
request.method == 'POST'

进行判断,而不是

1
request.method == 'GET'

2019 年的一个 GitHub 漏洞是因为使用了第二种方法然后把 HEAD 请求识别为 POST 然后错误地进行了授权。


如何简单地隐藏某个页面
https://hunsh.net/archives/101/
发布于
2021年3月1日
许可协议