在PHP中避免SQL注入最安全的方法是什么?

时间:2011-05-06 02:58:46

标签: php security sql-injection

我只是想知道这行代码是否可以安全地用来避免SQL注入?

// username and password sent from form 
$myusername=$_POST['loginUserName']; 
$mypassword=$_POST['loginPassword'];

$myusername = stripslashes($myusername);
$mypassword = stripslashes($mypassword);
$myusername = mysql_real_escape_string($myusername);
$mypassword = mysql_real_escape_string($mypassword);

我需要striplashes吗?

1 个答案:

答案 0 :(得分:8)

使用预准备语句更安全,因此(可能是恶意的)值与查询字符串分开,而不是依赖于转义。阅读PHP Data Objects

关于stripslashes(),只有在您启用了PHP的magic_quotes_gpc功能时才需要这样做,因为它已被弃用shouldn't。但是,如果您想要健壮,请if (get_magic_quotes_gpc()) $myusername = stripslashes($myusername);执行此操作,以便当且仅当添加了一个斜杠时才会删除一个斜杠。