PHP高级技能php面试题

sql注入式攻击

2019-04-23  本文已影响2人  AISpider

来源

表单输入或者url传参

常见攻击方式

SELECT * FROM  xq_adv where title='zhangsan';DROP TABLE xq_article--'

引号和分号是为了隔离前面的sql语句,后面的--代表注释。因为最后一个'可能会影响删表,所以使用注释不影响执行删表。注意:最后一个引号来自代码封装:原语句可能如下的写法:

$sql = "SELECT * FROM  xq_adv where title='".$_GET['title']."'";
#这句php代码因为title本身是被引号的
SELECT * FROM  xq_adv where title='zhangsan' or DROP TABLE xq_article--'

注意:在PHP中的 mysql_query() 是不允许执行多个SQL语句的,但是还是可以通过or and 等语句来执行。

预防sql注入

上一篇 下一篇

猜你喜欢

热点阅读