如果关联组件未呈现,是不是可以调用 JSF Bean 的 Setter?

Posted

技术标签:

【中文标题】如果关联组件未呈现,是不是可以调用 JSF Bean 的 Setter?【英文标题】:Calling Setter of JSF Bean possible if associated component not rendered?如果关联组件未呈现,是否可以调用 JSF Bean 的 Setter? 【发布时间】:2012-06-18 14:03:20 【问题描述】:

我有一个关于 JSF 安全性的问题。如果相关组件未呈现(例如使用 curl 之类的工具),攻击者是否有可能调用 JSF Bean 的 setter? 或者这是否由 JSF 检查,以便我可以认为这是安全的?

【问题讨论】:

【参考方案1】:

只有当rendered 条件依赖于 HTTP 请求附带的参数、标头、cookie 等数据时,它才是可攻击的。整个 HTTP 请求完全由用户控制。

例如,如果您只检查登录用户的角色,那么它是安全的 - 除非最终用户猜到具有所需角色的用户的正确用户名/密码并使用它登录,当然。

【讨论】:

以上是关于如果关联组件未呈现,是不是可以调用 JSF Bean 的 Setter?的主要内容,如果未能解决你的问题,请参考以下文章

JSF2 commandButton 操作未在更新的片段中调用

Facelets:页面未呈现

如何使用 JSF 显示/隐藏组件?

从 servlet 过滤器重定向到 jsf 会返回未呈现为 html 的实际 jsf 代码

为啥我的 JSF 复合方面的验证在未呈现方面时完成

如何在页面呈现期间测试是不是存在 JSF 导航案例