Maison >développement back-end >tutoriel php >求一段php+mysql防注入代码

求一段php+mysql防注入代码

WBOY
WBOYoriginal
2016-06-23 14:12:02767parcourir

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);

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn