string()可以很好地防御SQL注入?
这个问题在这里已经有了答案:
没有
is_string()
不会防止SQL注入,无论如何,数字有效负载不会导致任何表损坏或不必要的访问,并且字符串清理不能防止所有SQL注入。
我应该给你一些关于为什么准备好的声明是惊人的,但是你自己指出问题的关键是指出消毒中的缺陷
为什么你应该使用就卫生处理准备好的声明
"
将被更改为”的HTML实体,改变数据) 从理论上讲,如果您有类似下面的查询,那么消毒不会为您节省(从这里借用)
$ iId = mysql_real_escape_string(“1 OR 1 = 1”);
$ sSql =“SELECT * FROM table WHERE id = $ iId”;
NO:PHP错觉#1:Mysql(i)_real_escape_string防止SQL注入
这个过滤器将阻止任何恶意用户输入,如哈哈',注''
你的想法不过是一种保护。 用户输入中没有任何“恶意”,例如haha',inj'',真正恶意的输入都不会包含任何这些字符。
也就是说,任何用户输入都是一个字符串,所以你会创建一个臭名昭着的魔术引号功能的嘲弄,很多被鄙视和长期从语言中删除。
去准备好的陈述。
链接地址: http://www.djcxy.com/p/93455.html