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

Radio buttons and checkboxes. Prevent changing of the value attribute

所以您有一个复选框或单选按钮,其中包含要发送到数据库的预定义值:

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

但是恶意的人或脚本可以很容易地更改您的 checkbox/radio 按钮的值,例如一个基本的 "browser page inspect",然后将其他值发送到数据库。例如:

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

如何防止这些家伙?谢谢。

不,你不能,最好的方法是在数据库中收集所有允许的输入值,并每次在服务器上检查这些值。对于复选框、select、收音机之类的输入,这很容易,因为您确切地知道这些值可以是什么。如果是文本输入,则必须使用正则表达式和清理。

你不能完全阻止用户在浏览器中修改 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
}