PHP - 您如何清理您的联系表格?

时间:2010-05-26 07:30:01

标签: php security

有没有人遇到过防弹功能/类(自制或本地)来保护联系表格?

3 个答案:

答案 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-IDSmod_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。这是一个整洁的小包装,隐藏了大部分单调乏味。