相关疑难解决方法(0)

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

我们正在使用JSF 1.x打开服务器端状态保存.我们遇到一个问题,即作为web-bot实现的恶意用户可以提交页面,而不提交预期在表单中的所有字段.这导致一些未被调用的验证器应被调用,等等.

我们希望阻止用户能够在表单中添加/删除字段并提交表单(如果他们想要提交表单,则所有预期字段都在那里).在过去,我使用页面上字段ID的MD5哈希加上在页面上保存为隐藏字段的未知短语和会话过滤器,在给定提交的字段ID的情况下生成预期哈希并将其与隐藏字段中的值.

有什么我可以用JSF开箱即用,以防止用户操纵表单?或者使用第三方库?

java model-view-controller jsf

3
推荐指数
1
解决办法
785
查看次数

验证JSF中的类级别bean验证约束

似乎JSF 2.0没有调用"类级别约束".引用SO答案

JSF 2.0不调用类级验证约束.来自JSF验证: JSF 2提供了与JSR-303约束的内置集成.在应用程序中使用bean验证时,JSF会自动使用UIInput值引用的Bean约束.

答案还建议使用SeamFaces来验证类级约束.

不幸的是,这是一个非选择,因为它引入了一个有点大量的依赖,只是为了验证应该验证什么.

我的问题是:

如何让JSF验证类级约束?

控制器中的手动验证是繁琐的,并且有很多重复的代码,因此我想避免使用它.

我试图通过注释要验证的Controller-Field来做到@Valid这一点,这没有帮助.

应该可以让"流程验证"阶段为我做这件事,或者在Filter"更新模型值"阶段之后挂钩类似于a的东西,它将通过验证集中运行模型值.

jsf hibernate-validator bean-validation jsf-2 class-level

3
推荐指数
1
解决办法
1794
查看次数