通过研究清理HTML表单数据的最佳方法,我发现你应该“过滤输入”和“ESCAPE OUTPUT”。
不幸的是,关于这个主题的大部分信息都有旧信息(PHP 4.x,2009等)。许多网页都推荐mysql_real_escape_string
,从PHP 5.5.0开始不推荐使用它。
我使用的是PHP 5.5.x,Apache Web服务器和MySQL数据库。我正在使用PDO准备好的声明。所有字符集都是UTF-8。
我查看了PHP Sanitize过滤器(在此处找到:http://www.php.net/manual/en/filter.filters.sanitize.php)。
我已经过滤了所有输入并转义了所有输出,除了我的textareas。文本区域供用户“描述事件”。它们相当大,500个字符。这是我觉得最容易受到恶意代码攻击的地方。
我对所有输入做的第一件事是trim()
功能。
在输入上运行的最佳过滤器是什么?
我应该如何逃避输出?
我希望输出可读。
提前谢谢你。
答案 0 :(得分:0)
答案取决于您要过滤的输入种类。 假设你只想在textarea中使用简单的纯文本,所以你需要避免使用javascript,css和html代码,你需要在这个输入中防止SQL注入,并且只获得500个字符的长度。
我建议你访问: https://www.owasp.org/index.php/Top_10_2013-Top_10
另外,我建议使用PHP框架来避免使用这种常见安全风险的传统方式。
在我看来,你可以使用Zend,Code Igniter或Laravel。