所以你有一个带有预定义值的复选框或单选按钮要发送到数据库:
<input name="statement" type="radio" value="AWENSOME">
但是出于恶意的某人或脚本可以使用例如基本的“浏览器页面检查”轻松更改复选框/单选按钮的值,然后将其他值发送到数据库。例如:
<input name="statement" type="radio" value="NOT SO AWENSOME! STUPID">
怎么能阻止那些家伙?谢谢你。
所以你有一个带有预定义值的复选框或单选按钮要发送到数据库:
<input name="statement" type="radio" value="AWENSOME">
但是出于恶意的某人或脚本可以使用例如基本的“浏览器页面检查”轻松更改复选框/单选按钮的值,然后将其他值发送到数据库。例如:
<input name="statement" type="radio" value="NOT SO AWENSOME! STUPID">
怎么能阻止那些家伙?谢谢你。
不,你不能,最好的方法是收集数据库中所有允许的输入值,并每次在服务器上检查这些值。在复选框、选择、单选等输入的情况下很容易,因为您确切知道这些值可以是什么。在文本输入的情况下,您必须使用正则表达式和清理。
如果您使用的是 php,那么您模型中的类似内容可能会有所帮助:
if ($data['statement'] == 'AWENSOME' || $data['statement'] == 'FOOBAR' )
{
$statement = $data['statement'];
} else
{
// abort the app or return an error to the user
}
你不能这样做,你必须在服务器端再次检查,对于像复选框这样的框,你知道值,对于文本框,你可以使用正则表达式
您不能完全阻止用户在浏览器中修改 html 脚本,但您可以阻止不必要的数据进入您的数据库。
为了防止这种情况发生,您应该在服务器端的 php 脚本中有一个验证器。
有很多方法可以防止无效数据进入数据库:
zkdie23doo44s
可以由您的服务器识别..希望这可以帮助您获得一两个想法..