由于DDOS在多个连接上的多个系统上运行,因此如果您只编写一个脚本,从服务器请求每个连接的新SHA256哈希将阻塞您的服务器,则很容易抵消。他们不需要进行逆向工程,只需为请求访问服务器的每个连接生成“会话令牌”。
它应该以某种方式工作并防止简单的攻击。但是您可以通过在不同请求上请求动态哈希难度来改进它。
例如,您有2个页面,一个在db中显示具有特定记录的数据(通过使用主键),第二个执行难以搜索,有时在db中没有必要的索引来快速搜索,或者页面显示大量结果。攻击者想要DDOS第二页并使搜索尽可能慢。
您可以为第一页设置低难度,为第二页设置高。主要想法可能是:如果你想采取 x 服务器上的CPU时间,花费 c * x 你的CPU时间。
x
c * x
如果您只请求一次哈希,攻击者可以使用单个cookie计算必要的nonce并进行数百万次请求。