PHP - 如何对您的联系表单进行清洁处理?

3

有没有人遇到过用于保护联系表单的防弹函数/类(自制或原生)?

3个回答

0

请参见:

使用表单密钥保护您的表单

更好的选择是使用:

HTML Purifier

HTML Purifier是一个用PHP编写的符合标准的HTML过滤器库。HTML Purifier不仅会使用经过彻底审核、安全但允许的白名单删除所有恶意代码(更为人所知的是XSS),而且还会确保您的文档符合标准,这只有通过全面了解W3C规范才能实现。由于当前缺乏或不安全的HTML过滤器,您是否已经厌倦了使用BBCode?是否拥有所见即所得编辑器,但从未能够使用它?是否正在寻找高质量、符合标准、开源的组件来构建您的应用程序?那么HTML Purifier就是为您而设计的!


0

我建议使用OWASP 企业安全API,它是一组访问器,可以根据数据类型过滤用户输入。另一个补充安全层是Web应用程序防火墙(WAF),例如PHP-IDSmod_security。 WAF将阻止许多不同类型的攻击到达您的应用程序。这可能是您正在寻找的,因为它是一个“即插即用”的解决方案,无需修改您的应用程序。

一个输入验证库会有所帮助,但你应该记住并不存在万能的解决方案,你不能调用一个例程或安装一些软件就期望所有漏洞都会消失。输入验证漏洞高度依赖于数据的使用方式。例如,LFI、XSS、CRLF和SQL注入都有不同的控制字符,因此需要进行过滤/转义/编码等处理。如果你想构建一个真正坚固的PHP应用程序,那么你必须阅读PHPSec Library

预防SQL注入最好的方法是使用参数化查询,并使用像PHP's PDO这样的库。这样,无论数据来自何处,你都可以确信查询免疫于SQL注入。

此外,还有一些漏洞与输入验证无关。CSRF和加密违规都是很好的例子。你还应该阅读OWASP Top 10


0

我认为这不是一个特殊情况,只要在与数据库交互时始终使用参数化查询。

由于使用PHP/mysqli设置参数化查询可能会很繁琐,因此我强烈推荐Rob Poyntz的Codesense_mysqi class。它是一个简洁的包装器,隐藏了大部分的繁琐操作。


SQL注入并不是唯一的威胁。 - rook
另一个威胁是从您的服务器向大量BCC和CC发送垃圾邮件。 - Haroldo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接