在JSF页面中,将根据登录的用户权限填充select。 aziende4ReportList 仅包含与登录用户相关的数据
<h:selectOneMenu id="comboAziende" value="#{provaController.azienda}" required="true" >
<f:selectItems value="#{provaController.aziende4ReportList}" />
</h:selectOneMenu>
我认为发送到带有帖子的服务器的数据可能被篡改,所以我检查了在列表外发送一个值,我得到了验证错误。 我可以确定JSF检查传入的数据只接受可以以之前生成的形式插入的值吗?
答案 0 :(得分:2)
我可以确定JSF检查传入的数据是否只接受可以以之前生成的形式插入的值吗?
这是对的。使用未列出的下拉列表值篡改请求只会导致"Validation Error: Value is not valid"。不仅如此,JSF还会在回发期间重新检查所有disabled
和rendered
属性。因此,即使使用JavaScript来操作disabled
属性,或者使用浏览器的内置HTML DOM编辑器来操作HTML元素,它仍然无法通过,因为它根据JSF视图状态无效。
你的问题标题令人困惑,所以我暂时忽略这一部分。到目前为止,服务器端检查是绝对必要,没有任何借口,这与使用的服务器端语言/框架无关。但是,JSF已经有很多,包括XSS and CSRF。