我的<select>
不够安全。
我可以更改“值”槽元素检查。
因此,如果我要将select插入数据库中,我的select不够安全,我可以更改该值。我希望我的选择足够安全,以便您不能更改我的值。
<?php
// Include de database configuratie bestand
include_once 'dbConfig.php';
// Haal de auto's op.
$query = "SELECT * FROM autos ORDER BY autonaam ASC";
$result = $db->query($query);
?>
<div class="center1">
<form method="POST" action="insert.php">
<!-- Auto dropdown -->
<select class="select-css" onchange="myAuto(this)" name="auto" id="auto">
<option value="">Selecteer auto</option>
<?php
if($result->num_rows > 0){
while($row = $result->fetch_assoc()){
echo '<option value="'.$row['autoid'].'">'.$row['autonaam'].'</option>';
}
}else{
echo '<option value="">Auto is niet beschikbaar!</option>';
}
?>
</select> </br>
<p id="autovar"></p>
</br>
<!-- Kleur dropdown -->
<select id="kleur" name="kleur" onchange="myKleur(this)" style="display: none;">
<option value="">Selecteer kleur</option>
</select>
</br>
<p id="kleurvar"></p></br>
<button style="display: none;" type="submit" id="test" name="submit" >Save</button>
</form>
</div>
答案 0 :(得分:0)
如上面的评论所述,服务器端验证是唯一的解决方案。
您也无法阻止某人
a)像您自己一样通过元素检查干扰值,或
b)通过另一个非浏览器方法(例如,使用PostMan或自定义HTTP客户端)向您的PHP脚本发出HTTP请求,从而完全绕过浏览器逻辑。
如果有某些您根本不希望允许的值,或者在某些情况下(例如,由于用户权限或与将其与其他字段中的值匹配的逻辑所致)无效的值,则必须检查当您收到提交的数据时,将使用PHP。