JSF f:传递参数的事件安全吗?

sam*_*ert 2 events jsf

我是JSF的新手,所以我对某些标签的了解并不是那么好.我想知道在这种情况下传递参数有多安全:

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

因为,当我要传递这个"参数"时,用户无法访问此信息(更改此值意味着安全漏洞,这不可能发生).所以我要问这个是否可以使用这个事件来破解这个代码(传递另一个参数)?

谢谢!

Bal*_*usC 5

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

所以如果你硬编码,

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

那你就安全了

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

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

那么只有在服务器端验证其值时才是安全的.