php - 使用 php 清理 html 输入
问题描述
我正在使用 php,我只想问一下我用来清理输入的功能是否足够好,可以防止 sql 注入和其他可能通过输入发生的恶意内容。
public function test_input($data)
{
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
以下是我希望你们评价我的标准:
这是清理用户输入的最有效方法吗?
它是否可以很好地清理输入以阻止恶意代码进入我的数据库?
这也只是一个奖励,但如果我清理用户的输入,我是否需要清理其他任何内容?在将用户参数输入数据库之前,我已经绑定了用户参数。
解决方案
验证主要取决于您网站的上下文,应确认哪些内容以尽可能保持数据库一致。还有一些类似于全局或公共的验证,例如trim () 和stripslashes ()
验证的主要功能是检查将存储在数据库中以供将来使用的用户输入,例如登录或注册时的电子邮件或电话号码和用户密码。您应该验证电话号码是否为数字且长度仅为 12。或验证电子邮件格式是否正确。
关于用于验证的内容,您可以搜索: FILTERs here https://www.w3schools.com/php/php_filter.asp,
常规体验在这里https://www.w3schools.com/php/php_regex.asp
其他方法是使用字符串函数:这里https://www.w3schools.com/php/php_ref_string.asp
推荐阅读
- angular - 将基于 Angular 7 路由的应用程序运行为“file://”(无服务器)
- javascript - 在非实体类上以 Symfony 形式添加 ChoiceType 选项
- java - 是否可以为多个 JPanel 使用相同的 GridBagLayout?
- google-chrome-extension - 在 downloads.download() api 中指定路径/文件名在 Chrome 中不起作用,但在 Firefox 中起作用
- ios - 快速发送多部分表单数据
- java - Recyclerview java.lang.IndexOutOfBoundsException:无效索引0,大小为0
- javascript - 无法为 Javascript 项目创建“运行配置”
- javascript - 语法错误:意外的令牌 <
- reactjs - 更改 Redux 存储时组件未更新
- python - 如何通过使用它们之间的现有交集来更改数据集以匹配另一个类似的 -warped- ?