自由主机声称 '?i=1' url GET 参数可以保护他们的服务器。我想知道如何保护。在提问之前我确实使用过谷歌,但所有结果都是关于它们是为了安全以及如何删除它们(如果您有 ssh 访问权限)。我想知道原理,也许可以尝试为我自己的(在 vps 上)网站实现一个。我猜答案在于浏览器的行为。
答案1
该参数本身并不是安全机制,安全机制/浏览器检查是浏览器存储和使用 Cookie 的能力……
伪逻辑大致如下:
如果设置了 Cookie:
-> 假设只有“真正的浏览器”可以使用 cookies 并显示页面
如果没有设置 cookie:
-> 当 URL 参数i
设置并且大于 3 时显示错误(假设遵循多个重定向但不存储 cookie 的浏览器不是真正的浏览器和/或已损坏)
-> 否则
--> 设置 cookie
--> 增加i
1
--> 返回重定向到URL?i=$i