现在我的应用程序受到SQL注入和XSS的保护,将在部署之前添加CSRF保护。我没有过滤POST请求,我也没有使用任何GET请求。
我正在阅读这个问题,看看我是否错过任何security detail并且有一个人说要使用
$username = filter_input(INPUT_POST, 'username', FILTER_SANITIZE_STRING);
问题是我的数据来自不同的语言,英语,法语,阿拉伯语,俄语,我不知道是什么。我不知道进行数据输入的人想要放入数据库。我知道会有来自许多不同语言的数据。
输入过滤和消毒无法使用任何英文字符吗?
答案 0 :(得分:2)
FILTER_SANITIZE_STRING过滤器会删除或编码不需要的内容 字符。
此过滤器会删除可能对您有害的数据 应用。它用于剥离标签并删除或编码不需要的标签 字符。
非英文字符只会被编码,不应该被剥离。你应该确保在PHP和MySQL中使用UTF-8。