如果使用下拉菜单,是否必须防止SQL注入?
我知道您绝不应该信任表单中的用户输入,主要是因为有注入SQL的机会。
但是,这是否也适用于唯一输入来自下拉菜单的表单(请参见下文)?
我将其保存$_POST['size']
到一个Session中,然后在整个站点中使用它来查询各种数据库(使用mysqli
Select查询),任何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