我还需要使用准备好的声明吗?

时间:2014-09-07 16:26:14

标签: php mysqli prepared-statement

使用PHP和MySQLi我有一个带有4个HTML 5下拉列表选择列表输入的简单表单。现在想知道我还需要使用Prepared Statement来保护我的数据库吗?我还有SQL注入问题的风险吗?或者是否存在使用此类输入的任何其他类型的风险。感谢

1 个答案:

答案 0 :(得分:9)

您仍然可以进行注射攻击,因为通过您的选择框插入的值很容易被最终用户修改。

如果你有一个很好的验证服务器端,那么在没有预备语句的情况下这样做是可行的。

好的,我的意思是这样的:

$array = Array("all", "your", "possible", "values", "from", "Select boxes");
if(in_array ($_POST['selectbox'], $array)){
      //Mysql statements etc....
}

直接插入用户输入绝对不是一个好主意。你永远不应该相信最终用户!