是否需要使用JSF进行服务器端检查?

时间:2013-06-13 16:04:03

标签: jsf security

在JSF页面中,将根据登录的用户权限填充select。 aziende4ReportList 仅包含与登录用户相关的数据

 <h:selectOneMenu  id="comboAziende"  value="#{provaController.azienda}"  required="true" >
                    <f:selectItems value="#{provaController.aziende4ReportList}" />
                </h:selectOneMenu>

我认为发送到带有帖子的服务器的数据可能被篡改,所以我检查了在列表外发送一个值,我得到了验证错误。 我可以确定JSF检查传入的数据只接受可以以之前生成的形式插入的值吗?

1 个答案:

答案 0 :(得分:2)

  

我可以确定JSF检查传入的数据是否只接受可以以之前生成的形式插入的值吗?

这是对的。使用未列出的下拉列表值篡改请求只会导致"Validation Error: Value is not valid"。不仅如此,JSF还会在回发期间重新检查所有disabledrendered属性。因此,即使使用JavaScript来操作disabled属性,或者使用浏览器的内置HTML DOM编辑器来操作HTML元素,它仍然无法通过,因为它根据JSF视图状态无效。

你的问题标题令人困惑,所以我暂时忽略这一部分。到目前为止,服务器端检查是绝对必要,没有任何借口,这与使用的服务器端语言/框架无关。但是,JSF已经有很多,包括XSS and CSRF