我正在自学网络开发。直到最近,我的应用程序只是与 Twilio 等第三方 API 进行通信,没有用户前端。我喜欢 CherryPy,因为它足够简单,不会妨碍我。
我想建立一个主要是静态的个人网站,具有一些动态功能。我计划使用 CherryPy 来提供 HTML 服务,并处理来自 jQuery 的 AJAX 请求,为电子邮件联系表单等提供交互式且可访问的 UI。
但是,我有一些安全问题。我有系统管理背景;所以我知道人们可能使用的各种攻击媒介(XSS/CSRF 等)。我也知道CherryPy does not provide protection out of the box.我已经计划使用 reCaptcha 来保护联系表单的安全。我还可以做些什么?是否有适用于 Python/CherryPy 的表单库提供一些基本的过滤保护?是否有免费工具可以用来测试我的应用程序是否存在此类漏洞?
最佳答案
reCaptha(和其他此类工具)不是为了安全,而是为了防止滥用。如果您的代码没问题,您将不需要验证码来保护您的网站,除非您想要一份全职工作来删除邮箱中的所有垃圾邮件。
我发现在邮件表单中添加一些自制的技巧比开箱即用的验证码效果要好得多。我在表单中添加了一个隐藏的输入字段,名为“电子邮件”。机器人会剥离您的页面并尝试在所有输入字段中输入合理的值。如果他们在此隐藏字段中输入一个值,您就可以确定您正在与机器人打交道。 我发现这个技巧出奇地有效。
关于security - 我应该如何保护大多数静态 Web 应用程序的安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6975951/