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