過去都用addslashes,不過還不夠悍,目前都用mysql_real_escape_string
"PHP的mysql_real_escape_string函數會分析哪些字元需要進行處理,而addslashes則單純對所有的單引號(‘),雙引號(“),反斜線(\)和NUL字元加入反斜線。"
用法
// Query
$query = sprintf("SELECT * FROM users WHERE user='%s' AND password='%s'",
mysql_real_escape_string($user),
mysql_real_escape_string($password));
References
PHP防止 SQL Injection: Addslashes還是Mysql_real_escape_string
沒有留言:
張貼留言