如果使用显式设置了这些字段,则在JSF1.x中应该已经不可能
required="true"。如果您忽略此 *** 作和/或由定制的验证程序代替,或者改为在bean *** 作方法内进行验证,那么漫游器确实可以篡改表单。
因此,要解决此问题,请
required="true"使用硬服务器端值显式添加到必填字段(因此,例如
required="#{not emptyparam.foo}"在客户机/机器人可以控制的位置则不要这样
param.foo)。由于视图状态存储在服务器端,因此网络机器人无法显示/修改状态。
至少,这就是理论。或者它一定是一个非常聪明的Web机器人,或者可能是Web应用程序中使用的JSF impl /
version中的(旧的?)错误/漏洞。最新的JSF 1.x的可下载这里。
更新 :对于以JSF
2.x为目标的答案,当在客户端中删除输入时),跳过了Validator的验证–是否符合JSF规范?简而言之,在JSF 2.x中是可能的,并且可以(应该)通过放置bean验证或DB约束来保护这一点。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)