0

在春季表格中,我隐藏了输入

喜欢

<form:form method="post" modelAttribute="order" name="..." action="processListOrdersSelect.html">
            <p>
                <label for="username">Select Username:</label>
                <form:select path="username">
                    <form:option value="j2ee" label="j2ee" />
                </form:select>
            </p>

            <input type="hidden" name="test" value="test" />
            <form:button onclick="submit()">View Orders</form:button>
</form:form>

当我使用此表单提交时,Hdiv 安全性给了我未经授权的访问权限,我认为 Hdiv 在生成 Hdiv _HDIV_STATE_ 用于参数篡改时没有使用输入隐藏字段。如何让 Hdiv 使用我的隐藏输入而不使用

<form:hidden path="test" value="test" /> 

因为我没有这个属性标签的任何值 bean。我希望 Hdiv 验证隐藏的输入而不是跳过它们使用

<hdiv:paramsWithoutValidation> 
    <hdiv:mapping url="/.*" parameters="test" />
</hdiv:paramsWithoutValidation>

请告诉我如何解决这个问题??

4

1 回答 1

1

Hdiv 知道使用标签生成的表单字段<form:hidden>,因为参数的值是从 Spring MVC 标签中获得的。如果生成的表单字段没有 Spring MVC 标记,则 Hdiv 不会对其进行处理,并将其视为客户端包含的新字段。

如您在问题中提到的,使用 Spring 标记或排除参数验证。

于 2018-10-26T09:26:46.793 回答