求一段php+mysql防注入代码

WBOY
풀어 주다: 2016-06-23 14:12:02
원래의
762명이 탐색했습니다.

MySQL PHP 防注入

网上找了很多个。大部分都 报错。或者防注入功能不能用。

回复讨论(解决方案)

if (get_magic_quotes_gpc()) {    $lastname = stripslashes($_POST['lastname']);}else {    $lastname = $_POST['lastname'];}// 如果使用 MySQL$lastname = mysql_real_escape_string($lastname);$sql = "INSERT INTO lastnames (lastname) VALUES ('$lastname')";
로그인 후 복사
로그인 후 복사

if (get_magic_quotes_gpc()) {    $lastname = stripslashes($_POST['lastname']);}else {    $lastname = $_POST['lastname'];}// 如果使用 MySQL$lastname = mysql_real_escape_string($lastname);$sql = "INSERT INTO lastnames (lastname) VALUES ('$lastname')";
로그인 후 복사
로그인 후 복사



这应该是每个获取的值都进行处理的吧,有没有只要包含了一个文件自动过滤,像asp的枫叶防注入一样的?

你可以将它封装成函数,传值调用就方便了。

建议你看看韩顺平的防注入视频 名字叫《PHP数据库编程陷阱视频教程》。http://php.itcast.cn/news/5805c1ea/1b18/41eb/8fcc/6234659d8b40.shtml这是连接。

你可以将它封装成函数,传值调用就方便了。

是的,但函数调用起来比较麻烦,每个获取的值都写一次。

mysqli 和 PDO 都提供了数据绑定,不需要再自己处理

不过自己应该对自己负责任,怕麻烦可是不行的

提供一个方法,对提交的变量等进行关键字过滤。

$perl="/select|update|delete|insert|alter/iUs";
$str=preg_replace($perl,"",$str);

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿