>백엔드 개발 >PHP 튜토리얼 > 偶然关注数据库安全有关问题,如下

偶然关注数据库安全有关问题,如下

WBOY
WBOY원래의
2016-06-13 13:37:571200검색

偶然关注数据库安全问题,如下
一张表 id字段为主键 自增

如果要删除某条数据

那么

"delete from test where id=".$_POST['id']

问题就是有没有可能这样是不安全的

"delete from test where id=".$_POST['id']

$_POST['id'] = 2 or 1=1 之类的情况

会产生这种情况吗,导致全部删除

------解决方案--------------------
有啊,所以一般对数值类型也加引号
"delete from test where id='$_POST[id]'"
------解决方案--------------------
有可能。这就是常常说的防sql注入。转义特殊字符。
------解决方案--------------------
加引号后只要有转义处理就无可能
------解决方案--------------------
intval
------解决方案--------------------
方法一:在php.ini中设置:magic_quotes_gpc = Off 

方法二: $str=stripcslashes($str)

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.