JSF 2.0通过删除所需的输入来形成篡改

时间:2016-03-16 05:18:02

标签: validation security jsf jsf-2 tampering

我在这样的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中,我已按照In JSF, What is the best way to prevent Form tampering?

中的建议添加了以下代码
<context-param>
    <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
    <param-value>server</param-value>
</context-param>

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

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

0 个答案:

没有答案