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

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

问题描述:

我只是想知道这行代码是否安全以避免SQL注入?在PHP中避免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); 

我是否需要拆封?

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

关于stripslashes(),只有当您启用了PHP的magic_quotes_gpc功能时,才应该这样做,因为已被弃用。但是,如果您想要保持健壮,请执行if (get_magic_quotes_gpc()) $myusername = stripslashes($myusername);,以便在添加一个斜杠时删除斜杠层。