繁体   English   中英

单选按钮和复选框。 防止更改值属性

[英]Radio buttons and checkboxes. Prevent changing of the value attribute

因此,您有一个复选框或一个带有预定义值的单选按钮,可以将其发送到数据库:

<input name="statement" type="radio" value="AWENSOME">

但是,出于恶意的人或脚本可以通过例如基本的“浏览器页面检查”来轻松更改复选框/单选按钮的值,然后将其他值发送给数据库。 例如:

<input name="statement" type="radio" value="NOT SO AWENSOME! STUPID">

一个人怎么能防止那个家伙? 谢谢。

不,您不能,最好的方法是收集数据库中所有允许的输入值,并每次在服务器上检查这些值。 对于复选框,选择,单选之类的输入,这很容易,因为您确切知道值是多少。 如果是文本输入,则必须使用正则表达式和饱和处理。

您不能完全阻止用户在浏览器中修改html脚本,但是可以阻止不必要的数据输入数据库。

为了防止这种情况,您应该在服务器端的php脚本中有一个验证器。

有很多方法可以防止无效数据输入数据库:

  1. 在数据库中列出有效值,一旦用户选择了有效值,服务器将检查复选框或单选框中的值是否存在
  2. 将radio / checkbox的值设置为加密,或者可以说服务器可以识别某些独特的格式,例如zkdie23doo44s
  3. 定期检查html复选框并根据服务器中原始html脚本重新加载值

希望这可以帮助您获得一两个想法。

您不能这样做,必须在服务器端再次检查,对于复选框(如复选框)您知道值,对于文本框则可以使用正则表达式

如果您使用的是php,则在您的模型中可能会有所帮助:

if ($data['statement'] == 'AWENSOME' || $data['statement'] == 'FOOBAR' )
{
   $statement = $data['statement'];
} else
{
   // abort the app or return an error to the user
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM