PHP注册页提交问题

来源:百度知道 编辑:UC知道 时间:2024/06/02 10:53:55
(AccountID,AccountPassword,EnableFlg,TrialFlg,DownFlg,ExpFlg,SequenceNumber,UseFlg,BadMsg,CdKey,useremail,passkey) values ('$id','$pass','1','8','0','0','1','1','0','$id')";这种方式好还是
$insert = "INSERT INTO accounts (username, password, active, email) VALUES ('".$_POST['username']."', '".$_POST['pass']."', '1', '".$_POST['email']."')";这种好呢??
一个只有单引号,一个有单有双 ,有什么不一样吗??
// here we encrypt the password and add slashes if needed
$_POST['pass'] = md5($_POST['pass']);
if (!get_magic_quotes_gpc()) {
$_POST['pass'] = addslashes($_POST['pass']);
$_POST['username'] = addslashes($_POST['username']);
$_POST['email'] = addslashes($_POST['email']);
}这句是过滤吗???

如果不预先对请求数据作过滤(转换sql特殊字符),这两种方法都不好,有可能出现sql注入。
如果预先对请求的数据作过滤,前者相对好些。

双引号转义提交
单引号直接提交