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>
,你必須這樣做,否則它也可以被一個文本輸入:)