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

Bhu*_*han 1 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>
        <option value="4">Four</option>
        <option value="5">Five</option>
    </select>
    <input type="submit" value="Submit">
</form>
Run Code Online (Sandbox Code Playgroud)

以下是我的servlet代码来读取get方法中的select值:

System.out.println("Value of select: "+ request.getParameter("mySelect"));
Run Code Online (Sandbox Code Playgroud)

在我更改检查元素选项的值之前,这可以正常工作。在更改了inspect元素的值并提交了表单后,它会将Test值(Two而不是2)发送到servlet,这是不期望的。

在此处输入图片说明

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

Sur*_*tta 5

没有任何阻止用户使用firebug / inspect元素/更改浏览器中的值的方法。

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

再次大喊..

永远不要信任/依赖客户。