我是 JSF 的新手,所以我对一些标签的了解不是很好。而且我想知道在这种情况下传递参数有多安全:
<f:event listener="#{backBean.myMethod(**param**)}" type="preRenderView"/>
因为,当我要传递这个“参数”时,用户不能访问这个信息(改变这个值意味着一个安全漏洞,这不可能发生)。所以我问这个是否知道使用这个事件是否有可能打破这个代码(传递另一个参数)?
谢谢!
如果param
最终用户无法控制该值,那么您是安全的。就那么简单。您直接或间接(通过 JSF 或从数据库!)从最终用户的完全控制HttpServletRequest
下提取的任何内容。
因此,例如,如果您对其进行硬编码,
<f:event listener="#{backBean.myMethod('foo')}" type="preRenderView"/>
那么你就安全了。
但是如果你传递一个用户控制的请求参数,
<f:event listener="#{backBean.myMethod(param.foo)}" type="preRenderView"/>
那么只有在服务器端验证它的值时你才是安全的。