2

我是 JSF 的新手,所以我对一些标签的了解不是很好。而且我想知道在这种情况下传递参数有多安全:

<f:event listener="#{backBean.myMethod(**param**)}" type="preRenderView"/> 

因为,当我要传递这个“参数”时,用户不能访问这个信息(改变这个值意味着一个安全漏洞,这不可能发生)。所以我问这个是否知道使用这个事件是否有可能打破这个代码(传递另一个参数)?

谢谢!

4

1 回答 1

5

如果param最终用户无法控制该值,那么您是安全的。就那么简单。您直接或间接(通过 JSF 或从数据库!)从最终用户的完全控制HttpServletRequest下提取的任何内容。

因此,例如,如果您对其进行硬编码,

<f:event listener="#{backBean.myMethod('foo')}" type="preRenderView"/> 

那么你就安全了。

但是如果你传递一个用户控制的请求参数,

<f:event listener="#{backBean.myMethod(param.foo)}" type="preRenderView"/> 

那么只有在服务器端验证它的值时你才是安全的。

于 2012-07-16T20:14:32.380 回答