有没有人遇到过防弹功能/类(自制或本地)来保护联系表格?
答案 0 :(得分:0)
请参阅:
<强> Secure Your Forms With Form Keys 强>
更好的是,雇用:
<强> HTML Purifier 强>
HTML Purifier符合标准 用PHP编写的HTML过滤器库。 HTML Purifier不仅会删除所有内容 恶意代码(更好地称为XSS) 经过全面审核,安全无缺 容许白名单,它也会 确保您的文件是标准 合规,只有可以实现的东西 具有全面的知识 W3C的规格。厌倦了使用 BBCode由于当前的景观 缺陷或不安全的HTML过滤器? 有一个WYSIWYG编辑器,但从来没有 能用吗?寻找 高品质,符合标准, 开源组件 你正在建设的申请? HTML 净化器适合你!
答案 1 :(得分:0)
我建议使用OWASP Enterprise Security API它是filter user input基于应所属数据类型的访问者集合。另一个免费的安全层是Web应用程序防火墙(WAF),例如PHP-IDS或mod_security。 WAF将阻止许多不同类型的攻击到达您的应用程序。这可能是您正在寻找的,因为它是一个“下降”解决方案,无需修改您的应用程序。
输入验证库会有所帮助,但你应该记住没有银弹,你不能调用一个例程或安装一些软件,期望所有的漏洞都会消失。输入验证漏洞高度依赖于数据的使用方式。例如,LFI,XSS,CRLF和SQL注入都具有不同的控制字符,因此对过滤/转义/编码有自己的要求。如果你想构建一个真正可靠的PHP应用程序,那么你必须阅读PHPSec LIbrary。
防止SQL注入的最佳方法是使用像PHP's PDO这样的库的参数化查询。通过这种方式知道,无论数据来自何处,查询都不受SQL注入的影响。
此外,还有一些漏洞与输入验证无关。 CSRF和加密违规都是很好的例子。您还应该阅读OWASP Top 10。
答案 2 :(得分:0)
我不认为这是一种特殊情况,只是在与数据库交互时总是使用参数化查询。
因为使用PHP / mysqli设置参数化查询可能是一种冗长的痛苦,所以我强烈推荐Rob Poyntz Codesense_mysqi class。这是一个整洁的小包装,隐藏了大部分单调乏味。