如果使用下拉菜单,是否必须防止SQL注入?

我知道您绝不应该信任表单中的用户输入,主要是因为有注入SQL的机会。

但是,这是否也适用于唯一输入来自下拉菜单的表单(请参见下文)?

我将其保存$_POST['size']到一个Session中,然后在整个站点中使用它来查询各种数据库(使用mysqliSelect查询),任何SQL注入肯定会损害(可能会删除)它们。

没有类型输入的用户输入可以查询数据库的区域,只有下拉列表。

<form action="welcome.php" method="post">

<select name="size">

<option value="All">Select Size</option>

<option value="Large">Large</option>

<option value="Medium">Medium</option>

<option value="Small">Small</option>

</select>

<input type="submit">

</form>

回答:

您可以像以下示例一样简单地进行操作,以确保发布的大小符合您的期望。

$possibleOptions = array('All', 'Large', 'Medium', 'Small');

if(in_array($_POST['size'], $possibleOptions)) {

// Expected

} else {

// Not Expected

}

如果要使用的PHP> = 5.3.0版本,请使用mysqli_ *来保存结果。如果正确使用,这将有助于sql注入。

以上是 如果使用下拉菜单,是否必须防止SQL注入? 的全部内容, 来源链接: utcz.com/qa/411631.html

回到顶部