求一段php+mysql防注入代码

WBOY
Lepaskan: 2016-06-23 14:12:02
asal
762 orang telah melayarinya

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')";
Salin selepas log masuk
Salin selepas log masuk

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')";
Salin selepas log masuk
Salin selepas log masuk



这应该是每个获取的值都进行处理的吧,有没有只要包含了一个文件自动过滤,像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);

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan