Javascript 单选按钮和复选框。防止更改value属性
因此,您有一个复选框或单选按钮,该复选框或单选按钮具有要发送到数据库的预定义值:Javascript 单选按钮和复选框。防止更改value属性,javascript,php,html,client-side-attacks,Javascript,Php,Html,Client Side Attacks,因此,您有一个复选框或单选按钮,该复选框或单选按钮具有要发送到数据库的预定义值: <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">
怎样才能阻止那些家伙?谢谢。不行,最好的方法是收集数据库中所有允许的输入值,并在服务器上每次检查这些值。对于诸如checkbox、select、radio之类的输入,这很容易,因为您确切地知道值可以是什么。对于文本输入,您必须使用regex和sanitanization。不,您不能,最好的方法是收集数据库中所有允许的输入值,并在服务器上每次检查这些值。对于诸如checkbox、select、radio之类的输入,这很容易,因为您确切地知道值可以是什么。对于文本输入,您必须使用regex和sanitanization。您不能完全阻止用户在浏览器中修改html脚本,但可以阻止不必要的数据输入数据库 为了防止这种情况,您应该在服务器端的php脚本中有一个验证器 有许多方法可以防止无效数据进入数据库:
zkdie23doo44s
希望这能帮助您获得一两个想法。您不能完全阻止用户在浏览器中修改html脚本,但您可以阻止不必要的数据输入数据库 为了防止这种情况,您应该在服务器端的php脚本中有一个验证器 有许多方法可以防止无效数据进入数据库:
zkdie23doo44s
希望这能帮助您获得一两个想法。您不能这样做,您必须在服务器端再次检查,对于诸如复选框之类的框,您知道值,对于文本框,您可以使用正则表达式。您不能这样做,您必须在服务器端再次检查,对于诸如复选框之类的框,您知道值,并且对于文本框,您可以使用正则表达式,如果您使用的是php,那么您的模型中类似的内容可能会有所帮助:
if ($data['statement'] == 'AWENSOME' || $data['statement'] == 'FOOBAR' )
{
$statement = $data['statement'];
} else
{
// abort the app or return an error to the user
}
如果您使用的是php,那么您的模型中类似的内容可能会有所帮助:
if ($data['statement'] == 'AWENSOME' || $data['statement'] == 'FOOBAR' )
{
$statement = $data['statement'];
} else
{
// abort the app or return an error to the user
}
你不能,重新检查服务器端的值是你的责任,因为解决方案是定义方法来比较服务器端的值,防止那些错误的值被发送到DB,对吗?@Arun P Johny我同意you@agaezcode对你是对的……你不能,重新检查服务器端的值是你的责任,因为解决方案是定义方法来比较服务器端的值,防止那些错误的值被发送到DB,对吗?@Arun P Johny我同意you@agaezcode对你是对的…我同意,唯一的方法是用数据库条目替换属性中的每个字符串,但可能会降低网页的整体性能。为了获得更好的性能,它也可以存储在静态类中定义的数组中,或者例如APC缓存中。好的,谢谢大家。我想看看这是否是解决这些问题的另一种解决方案。我想我将采用从服务器端进行比较的解决方案。。。谢谢。我同意,唯一的方法是用数据库条目替换属性中的每个字符串,但这可能会降低网页的整体性能。为了获得更好的性能,它也可以存储在静态类中定义的数组中,或者存储在APC缓存中。好的,谢谢大家。我想看看这是否是解决这些问题的另一种解决方案。我想我将采用从服务器端进行比较的解决方案。。。谢谢,卡兹拉,酷。很高兴看到有更多的解决方案。谢谢你,卡兹拉,酷。很高兴看到有更多的解决方案。非常感谢。