我想问你是否需要使用以下代码中的其他内容:
if(isset($_POST['submit'])) {
$username = $_POST['username'];
$password = $_POST['password'];
$validate = '/^[a-z]+[a-z0-9]*[.-_]*$/i';
if ((preg_match($validate , $username)==true) && (preg_match($validate , $password)==true)) {
some query...
} else {
echo "You've used some characters that aren't allowed.";
}
}else {
echo 'Not logged!';
}
这个正则表达式是否可以帮助我免于SQL注入?或者您能否给我任何其他建议以使我的登录表格变得更好!
答案 0 :(得分:3)
如果您的驱动程序仍然是较旧的驱动程序,则使用mysql_real_escape_string
;如果您使用较新的pdo驱动程序,则使用带参数绑定的预处理语句,或者使用mysqli的mysqli_real_escape_string
。
http://php.net/manual/en/function.mysql-real-escape-string.php