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