如果不是所有数据都是英文的,我可以过滤输入吗?

时间:2018-02-01 10:02:09

标签: php

现在我的应用程序受到SQL注入和XSS的保护,将在部署之前添加CSRF保护。我没有过滤POST请求,我也没有使用任何GET请求。

我正在阅读这个问题,看看我是否错过任何security detail并且有一个人说要使用

$username = filter_input(INPUT_POST, 'username', FILTER_SANITIZE_STRING);

问题是我的数据来自不同的语言,英语,法语,阿拉伯语,俄语,我不知道是什么。我不知道进行数据输入的人想要放入数据库。我知道会有来自许多不同语言的数据。

输入过滤和消毒无法使用任何英文字符吗?

1 个答案:

答案 0 :(得分:2)

根据W3Schools

  

FILTER_SANITIZE_STRING过滤器会删除或编码不需要的内容   字符。

     

此过滤器会删除可能对您有害的数据   应用。它用于剥离标签并删除或编码不需要的标签   字符。

非英文字符只会被编码,不应该被剥离。你应该确保在PHP和MySQL中使用UTF-8。