在JSF中,防止表单篡改的最佳方法是什么?

在JSF中,防止表单篡改的最佳方法是什么?,第1张

在JSF中,防止表单篡改的最佳方法是什么?

如果使用显式设置了这些字段,则在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约束来保护这一点。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5616276.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存