【发布时间】:2010-12-17 05:20:55
【问题描述】:
假设在基于浏览器的游戏中,完成一些操作(为简单起见,假设有人点击一个链接,他们的分数增加了 100)点击这个链接,该链接将有一个 URL,例如 increase_score.pl?amount=100 什么样的预防是否有人只是向网络服务器发送请求以执行此命令:
- 一遍又一遍地没有真正完成点击链接和 的任务
- 向服务器发送虚假请求,其中数量设置为类似 100000 的值。
我知道检查HTTP_REFERER 但我知道人们可以绕过它(不确定如何准确),除了检查第二个选项的一些界限之外,我有点难过。有人遇到过类似的问题吗?解决方案?
【问题讨论】:
-
您的应用程序应该知道该操作是否被允许。
-
某人可以将请求序列发送到服务器,使他们能够到达允许该操作的点
-
那么你的服务器实际上不应该给分。
-
关于为什么 HTTP_REFERRER 是一种容易被绕过的预防措施的“不确定如何准确”的评论 WRT 表明通常有很多关于 HTTP 协议和 CGI 的内容您不知道,这将导致如果您正在考虑 Web 应用程序的安全性,则会出现许多问题。熟悉 HTTP(标头、不同版本)、代理、CGI、Javascript、XSS、Web 服务器等将非常有益。
标签: security http anti-cheat