如果我有下面这个简单的表格选择: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逻辑检查”匹配只有两个值选项可能? –
不,它与转义某些值并将其放入您的选择框有关。看看医生在下面发布了什么。 –