可能重复:
在 PHP 中防止 SQL 注入的最佳方法?
我在 php 站点中的 html web 表单从客户端获取数据并将其放入 mysql 数据库。我想知道在将数据存储到 mysql 之前清理数据所需的步骤。
假设需要使用 PHP 执行此清理,然后将其插入 Mysql,您能否告诉我所有需要注意的事项?
作为一种特殊情况,除了一般的清理之外,我还想删除所有特殊字符、空格,并将所有字符转换为小写,然后再放入数据库。为此,我需要查看哪些功能?
我对php很陌生。
谢谢。
可能重复:
在 PHP 中防止 SQL 注入的最佳方法?
我在 php 站点中的 html web 表单从客户端获取数据并将其放入 mysql 数据库。我想知道在将数据存储到 mysql 之前清理数据所需的步骤。
假设需要使用 PHP 执行此清理,然后将其插入 Mysql,您能否告诉我所有需要注意的事项?
作为一种特殊情况,除了一般的清理之外,我还想删除所有特殊字符、空格,并将所有字符转换为小写,然后再放入数据库。为此,我需要查看哪些功能?
我对php很陌生。
谢谢。
1.mysqli_real_escape_string() 或mysql_real_escape_string() 转义引号
2.其他表单数据使用php filter_input
$search_html = filter_input(INPUT_GET, 'search', FILTER_SANITIZE_SPECIAL_CHARS);
$search_url = filter_input(INPUT_GET, 'search', FILTER_SANITIZE_ENCODED);
php手册中还有其他选项是链接
首先使用mysqli_real_escape_string()
它将转义字符串中的引号来清理输入。
您可以strtolower()
用于将字符转换为小写。
用于htmlspeiclachars()
将特殊字符转换为 HTML 实体
使用正则表达式删除空格preg_replace( '/\s+/', ' ', $whatever );
如果要删除特殊字符,可以使用preg_replace('#[^\w()/.%\-&]#',"",$whatever);
正则表达式。(来源)
其他消毒过滤器参考这里
最后但并非最不重要的一点是,由于您是初学者,我建议您参考文档