如果我有下面這個簡單的表格選擇:HTML表格選擇安全漏洞
<form id="myform" class="form" role="form" accept-charset="utf-8" method="post" action="/mypage.php">
<select id="gender" name="gender">
<option selected="" value=""></option>
<option value="man">man</option>
<option value="women">women</option>
</select>
<button type="submit" name="insert"> Send </button>
</form>
這個小PHP代碼檢索數據:
if (isset($_POST['insert'])) {
if(!isset($_POST['gender']) || strlen($_POST['gender'])<3)
{
header('location:'.$_SERVER['PHP_SELF'].'?error');
exit;
}
$gender = ($_POST['gender']);
...
// INSERT INTO DATABASE
}
,現在有人用螢火蟲從修改的選項值「man」改爲「漏洞」,點擊提交,這個新值將被插入到我的數據庫中而不是前一個。
我的問題是:我怎樣才能防止這與PHP語言?
謝謝。
你會淨化你的投入。檢查了這一點:http://stackoverflow.com/questions/1637275/simple-html-sanitizer-in-javascript –
可能是我需要「簡單的if-else邏輯檢查」匹配只有兩個值選項可能? –
不,它與轉義某些值並將其放入您的選擇框有關。看看醫生在下面發佈了什麼。 –