PHP中该怎样避免SQL注入?
问题描述:
假如用户输入的数据在未经处理的情况下刺进到一条SQL查询句子,那么运用将很可能遭受到SQL注入进犯,正如下面的比如:
$unsafe_variable = $_POST['user_input']; mysql_query("INSERT INTO `table` (`column`) VALUES ('" . $unsafe_variable . "')");由于用户的输入可能是这样的:
value'); DROP TABLE table;--那么SQL查询将变成如下:
INSERT INTO `table` (`column`) VALUES('value'); DROP TABLE table;--')应该采纳哪些有用的办法来避免SQL注入?
最佳答复(来自Theo):
运用预处理句子和参数化查询。预处理句子和参数别离发送到数据库服务器进行解析,参数将会被当作一般字符处理。这种办法使得进犯者无法注入歹意的SQL。 你有两种挑选来完成该办法:
[1] [2] [3] 黑客接单网