php - 如果并非所有数据都是英文,我可以过滤输入吗?

标签 php

现在我的应用程序已针对 SQL 注入(inject)和 XSS 进行了保护,将在部署前添加 CSRF 保护。我没有过滤 POST 请求思想,也没有使用任何 GET 请求。

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

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

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

输入过滤和清理不适用于非英文字符,对吗?

最佳答案

根据W3Schools

The FILTER_SANITIZE_STRING filter strips or encodes unwanted characters.

This filter removes data that is potentially harmful for your application. It is used to strip tags and remove or encode unwanted characters.

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

关于php - 如果并非所有数据都是英文,我可以过滤输入吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48559966/

相关文章:

php - 字符 "-"仍在最后一个字符串的末尾

php - 为 MySql 行提供几个唯一的 ID,并使用 php 显示具有一个特殊 ID 的所有行

php - 向提交按钮添加功能 php

php - Symfony 4 生产模式错误处理页面内存耗尽

php - 序列化和反序列化 $_POST 数组是否安全?

php - 不使用 CURL 发送 GET 请求

php-curl 不适用于 POST 请求

php - Mysql IN 子句带有类似 not HAVING 的内容

php - 如何使用Web连接器将magento订单导入quickbooks桌面企业版?

php - 确定从 php 中调用函数的位置