FILTER_SANITIZE_STRING过滤不应过滤的字母

时间:2015-08-30 15:07:40

标签: php security prepared-statement

在使用预准备语句之前,我正在使用过滤器来清理字符串

 filter_input( INPUT_POST, 'x', FILTER_SANITIZE_STRING )

问题是我来自立陶宛,在这里我们有一些非常奇怪的字母,比如ąčęįįųand,我需要那些未经过滤的,我找不到另一个过滤器FILTER_SANITIZE_,它会起作用,有没有?如果没有,还有其他功能以我需要的方式完成这项工作吗?

1 个答案:

答案 0 :(得分:1)

解决方案:不要过滤。

输出到HTML页面时进行HTML编码。

e.g。 &变为&amp;<变为&lt;

使用htmlentities执行此操作。

HTML代码在您的数据库中并不危险 - 只有在用户输入未编码的情况下才会发生危险。

由于您已经在使用预准备语句,因此您已经受到SQLi保护(假设当然没有任何查询连接,例如在您调用的任何SP中)。