在提交表单之前停止用户更改html源中的值

在提交表单之前停止用户更改html源中的值,html,browser,client-side,Html,Browser,Client Side,我有一个简单的html表单,如下所示: <form action="Test"> <select name="mySelect"> <option value="1">One</option> <option value="2">Two</option> <option value="3">Three</option> <o

我有一个简单的html表单,如下所示:

<form action="Test">
    <select name="mySelect">
        <option value="1">One</option>
        <option value="2">Two</option>
        <option value="3">Three</option>
        <option value="4">Four</option>
        <option value="5">Five</option>
    </select>
    <input type="submit" value="Submit">
</form>
在我更改“检查元素”选项中的值之前,这一切正常。更改inspect元素的值并提交表单后,它将
Test
作为
Two
的值(而不是2)发送到
servlet
,这是不期望的


我的问题是,我们有没有办法避免这个问题?或者如何防止客户端发送不正确的数据?

使用firebug/inspect element/什么都不能阻止用户更改浏览器中的值

我们可以做的是在服务器端检查我们的值,并在值不匹配时提示用户

又喊了一声


永远不要信任/依赖客户机….没有任何东西可以阻止用户使用firebug/inspect元素/任何东西更改浏览器中的值

我们可以做的是在服务器端检查我们的值,并在值不匹配时提示用户

又喊了一声


永远不要信任/依赖客户机……您可以禁用右键单击和F12按钮以防止出现问题。 请点击以下链接

1.)禁用右键单击
2.)禁用F12按钮

您可以禁用右键单击和F12按钮以防止出现问题。 请点击以下链接

1.)禁用右键单击
2.)禁用F12按钮

在这一点上,我看不到任何实际会导致这种情况发生的东西。什么神奇的逻辑在改变测试值?这是正常的行为。。。只是不要这样做,但永远不要忘记用户可以提交他想要的任何东西。你是在问如何防止客户端向你发送不正确的数据吗?若是这样,那个么答案是“你们不能”,这就是为什么服务器端需要有验证机制的原因。@Pshemo是的,我的意思是完全正确的that@Bhushan不幸的是,我们不能:(在这一点上,我看不到任何实际会导致这种情况发生的东西。什么神奇的逻辑正在改变要测试的值?这是一种正常的行为…只是不要这样做,但永远不要忘记用户可以提交他想要的任何内容。你是在问如何防止客户端向你发送不正确的数据?如果是这样的话,答案是肯定的。)“你不能”,这就是服务器端需要验证机制的原因。@Pshemo是的,我的意思是完全正确的that@Bhushan不幸的是,我们不能:(
System.out.println("Value of select: "+ request.getParameter("mySelect"));