PHP阻止SQL注入的最好的方法

牛哥 发布于 2011/08/19 11:23
阅读 2K+
收藏 0

在我的MySQL数据库,

// 连接 mysql 数据库

$unsafe_variable = $_POST["user-input"];

mysql_query("INSERT INTO table (column) VALUES ('" . $unsafe_variable . "')");

// 断开 MySQL 数据库
请告诉我该怎么做呢?谢谢。
加载中
2
voov
voov
$sql = sprintf("INSERT INTO table(colunm) VALUES('%s')" , $val); mysql_query($sql);
纠结名字_我艹你妹
纠结名字_我艹你妹
我还以为楼主在分享技术呢。。。。。汗……标题党啊!
0
悟庭
悟庭
mysql_query("INSERT INTO table (column) VALUES ('" . mysql_real_escape_string($unsafe_variable) . "')");
0
konakona
konakona

关键在于mysql_real_escape_string(). 以及个针对魔术双引号用不同的add..html...(忘全程了)


建议楼主下载网上大部分框架,研究他们的db类,里面都是防注入的。

0
Midnight
Midnight

是求最好的防注入方法还是你这代码是防注入最好的方法?

怎么看着我这么蛋疼呢....

ValueError
ValueError
+1
0
拼了命装可爱
拼了命装可爱
楼主是在求最好的防注入,框架大体的防注入都一样,下个CI看下嘛。
0
Midnight
Midnight
写过滤类去处理$_POST $_GET
0
该用户已被和谐
该用户已被和谐

Ucenter里面的

function saddslashes($string) {
	if(is_array($string)) {
		foreach($string as $key => $val) {
			$string[$key] = saddslashes($val);
		}
	} else {
		$string = addslashes($string);
	}
	return $string;
}
$_POST =  saddslashes($_POST);

0
mark35
mark35
PHP PDO::prepare() and execute()
Liuxd
Liuxd
+1 PDO才是王道。
ddatsh
ddatsh
+1
0
mark35
mark35
or PHP PDO::quote()
0
Minho
Minho
看看织梦CMS系统里面的mysql类吧。里面有一个函数是专门检测sql注入的。应该很经典!
返回顶部
顶部