Posted by & filed under 每日一题.

【四脚猫】每日一题(2015年03月27日): 用户的输入和提交的数据是不可预料的,比方说如下的提交:

1
2
3
$unsafe_variable = $_POST['user_input'];

mysql_query("INSERT INTO <code>table</code> (<code>column</code>) VALUES ('$unsafe_variable')");

当我们用户的提交为如下字符串:

1
value'); DROP TABLE table;--,

那么实际上执行的SQL就如下:

1
INSERT INTO <code>table</code> (<code>column</code>) VALUES('value'); DROP TABLE table;--')

有什么办法可以防止这种恶意的提交请求呢?

提示: 从PHP 5.5.0开始, mysql_real_escape_string 已废弃,并在将来会被移除。

欢迎各位攻城狮,各位大牛给每日一题投稿,大家可以把自己碰到的有趣问题,工作中碰到的难题等…发送到 稿件邮箱:2313427189@qq.com