我有一个下拉框,它从我的数据库中提取数据。当用户输入数据时,我是否仍应验证服务器上的下拉数据?
答案 0 :(得分:6)
是。如果您正在根据该数据存储,读取或执行某些操作,请始终验证您从客户端收到的任何信息。有人总是可以欺骗不使用浏览器的请求。
答案 1 :(得分:0)
验证它的简单方法是......
<?php
$array = array(1 => 'a', 2 => 'b');
if ($_POST) {
if ( ! in_array($_POST['choose'], array_keys($array)) {
echo 'Invalid input';
}
}
?>
<form action="?" method="post">
<select name="choose">
<?php foreach($array as $value => $node): ?>
<option value="<?php echo $value; ?>"><?php echo $node; ?></option>
<?php endforeach; ?>
</select>
</form>
您必须这样做,否则它也可能是文本输入:)