如何保护我的网络游戏免受作弊者的侵害?
Posted
技术标签:
【中文标题】如何保护我的网络游戏免受作弊者的侵害?【英文标题】:How can I protect my web-based game against cheaters? 【发布时间】:2010-10-16 04:41:39 【问题描述】:我刚刚编写了我的第一个 Web 应用程序(Linux、Apache、mysql、Django),并希望公开发布它。这是一个伪装成游戏的基于网络表单的任务;我打算最终将它放在Amazon Mechanical Turk 上,并为达到一定分数的人提供小额奖金。
即使这个应用程序没有极高的安全风险,我也需要保护它免受操纵和逆向工程。但是,我几乎没有接受过测试/安全方面的正式培训。鉴于要赢得有形的奖品,我知道人们会有作弊的动机,无论是通过更改 POST 数据、按“返回”并重新提交数据直到他们获胜等等。到目前为止,我一直在处理这些当我想到可能的漏洞利用时,通过进行安全测试来临时解决问题。但是,我意识到可能有很多我还没有想到的操纵形式。
谁能推荐一些阅读材料,我可以从中学习如何保护我的网站免受操纵和逆向工程?
【问题讨论】:
【参考方案1】:OWASP 是一个非常好的阅读场所;见http://www.owasp.org/index.php/Main_Page。他们有大量关于网站安全的文档。
编辑:如需快速概览,请查看“前十名”。
【讨论】:
【参考方案2】:Google Browser Security Handbook 包含大量有关 Web 架构中潜在漏洞的信息,特别是受 Web 浏览器行为影响的详细信息(与基于服务器的漏洞相反,例如 SQL 注入攻击等)。这是了解浏览器如何以影响安全的方式工作的一个很好的起点,例如它们如何处理 cookie、跨域请求、图像和 MIME 类型等。
【讨论】:
【参考方案3】:SQL Injection
防止恶意用户通过 URL 查询字符串更改 SQL 查询。
DoS Attacks
防止来自同一 IP 地址的用户在短时间内访问您的网站的次数过多。
Password Strength
当允许用户创建自己的密码时,显示一个密码强度指示器,鼓励用户输入更强的密码。
Captcha
通过显示验证码图像阻止非人类用户提交表单。如果密码验证多次失败,您可能还想使用它,以防止机器人猜测密码。
【讨论】:
【参考方案4】:我可能推荐的一本书是罗斯安德森的“Security Engineering”。它相当详细,并且很好地概述了与计算机安全相关的许多不同主题,尽管并非所有主题都与保护网站有关。
【讨论】:
以上是关于如何保护我的网络游戏免受作弊者的侵害?的主要内容,如果未能解决你的问题,请参考以下文章