星期一, 6月 28, 2010

SQL Injection

PHP
過去都用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

沒有留言: