0

我在 JSF 中有一个像这样的简单表单

<h:form>
<p:inputText id="name1" value="#{bean.name1}" maxlength="100" required="true"/>
<p:inputText id="contact1" value="#{bean.contact1}" required="true"/>
<p:commandButton 
    value="Save" 
    action="#{bean.saveForm()}" 
    validateClient="true" />
</h:form>

我尝试删除元素检查器(F12 Chrome)中的一个输入文本,它实际上绕过了该字段的“必需”验证。

在我的 web.xml 中,我按照在 JSF 中的建议包含了以下代码,防止表单篡改的最佳方法是什么?

<context-param>
    <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
    <param-value>server</param-value>
</context-param>

我读到 JSF 已经使用上述方法自动将 viewState 存储在服务器中,但事实证明,我仍然可以绕过它。我错过了什么吗?

任何帮助将不胜感激。谢谢!

4

0 回答 0