php – 这是一种安全的方法来防止SQL注入吗?

这段代码是否100%安全sql注入:

$id = $_GET['id']
mysql_query('SELECT * FROM mytable WHERE id < ' . (int)$id);

或者我必须这样做?

$id = $_GET['id']
mysql_query('SELECT * FROM mytable WHERE id < ' . mysql_real_escape_string($id));
最佳答案
如果$_GET [‘id’]为空,或者(int)$_ GET [‘id’]计算为空,则查询仍然会爆炸.您最终会在查询中出现语法错误.盲目地逃避或输入值并将其填充到查询中是不够的.你必须检查最后的“安全”值是否真的安全,而不仅仅是奶奶穿着的狼.

转载注明原文:php – 这是一种安全的方法来防止SQL注入吗? - 代码日志