URL 参数 '?i=1' 如何检测浏览器?

URL 参数 '?i=1' 如何检测浏览器?

自由主机声称 '?i=1' url GET 参数可以保护他们的服务器。我想知道如何保护。在提问之前我确实使用过谷歌,但所有结果都是关于它们是为了安全以及如何删除它们(如果您有 ssh 访问权限)。我想知道原理,也许可以尝试为我自己的(在 vps 上)网站实现一个。我猜答案在于浏览器的行为。

答案1

该参数本身并不是安全机制,安全机制/浏览器检查是浏览器存储和使用 Cookie 的能力……

伪逻辑大致如下:

如果设置了 Cookie:

  1. -> 假设只有“真正的浏览器”可以使用 cookies 并显示页面

  2. 如果没有设置 cookie:
    -> 当 URL 参数i设置并且大于 3 时显示错误(假设遵循多个重定向但不存储 cookie 的浏览器不是真正的浏览器和/或已损坏)
    -> 否则
    --> 设置 cookie
    --> 增加i1
    --> 返回重定向到URL?i=$i

相关内容