可能重复:
在 PHP 中防止 SQL 注入的最佳方法?
我正在建立我的第一家在线商店,我正在自己编写 PHP 代码并使用 MySQL 数据库。我被告知,对输入进行数据验证非常重要,这样我的数据库就不会受到损害。有人可以告诉我要包括什么验证,或者推荐一个值得信赖的教程。
提前致谢
可能重复:
在 PHP 中防止 SQL 注入的最佳方法?
我正在建立我的第一家在线商店,我正在自己编写 PHP 代码并使用 MySQL 数据库。我被告知,对输入进行数据验证非常重要,这样我的数据库就不会受到损害。有人可以告诉我要包括什么验证,或者推荐一个值得信赖的教程。
提前致谢
在此站点中搜索“Sql 注入”。sql 注入攻击的一个常见来源是未经验证的用户输入,然后在发送到数据库之前进行可信连接。
例如,如果您的陈述是这样的:
select col1, col2 from mytable where id =' + <some variable> + ' and xyz = abc
(其中“某个变量”是刚刚传递给 SQL 的用户输入)
然后用户可以输入'xxx''; delete from mytable; --'
数据库得到的是:
select col1, col2 from mytable
where id ='xxx'; delete from mytable; --' and xyz = abc
造成破坏。
所以这里的关键问题是:不要将未经验证的连接文本传递给您的数据库以供其执行。
您可以通过多种方式实现此目的:
我会选择参数化 SQL,因为数据库驱动程序会将用户输入的所有内容绑定为单个值,同时将您的业务逻辑排除在数据库之外。
Mysql Validation 意味着你必须防止你的查询被 MySql 注入。请阅读以下内容以避免 mysql 注入。
http://rosstanner.co.uk/2012/01/php-mysql-preventing-mysql-injection/