Events JSF:传递参数的事件安全性?

Events JSF:传递参数的事件安全性?,events,jsf,Events,Jsf,我是JSF新手,所以我对一些标签的了解不是很好。 我想知道在这种情况下传递参数有多安全: <f:event listener="#{backBean.myMethod(**param**)}" type="preRenderView"/> 因为,当我要传递这个“参数”时,用户无法访问这个信息(更改这个值意味着存在安全漏洞,这是不可能发生的)。所以我问这个问题是想知道使用这个事件是否有可能破坏这个代码(传递另一个参数) 谢谢 如果终端用户无法控制param值,则您是安全的。就这

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

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

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


谢谢

如果终端用户无法控制
param
值,则您是安全的。就这么简单。您直接或间接(通过JSF或从DB!)从
HttpServletRequest
中提取的任何内容都属于最终用户的full控制范围

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

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

那你就安全了

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

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


只有在服务器端验证它的值,您才算安全。

谢谢您的帮助。所以在我的例子中,我将传递参数作为您发布的第一个情况。只是想进一步了解一下,整个标签,用户无法访问它,无法访问任何信息(考虑到“foo”的情况)?怎么可能呢?此代码(f:事件…)仅在服务器端访问?它完全在服务器端执行。我认为,如果您意识到webbrowser根本无法检索JSF源代码,那么它会更有帮助。它只检索其生成的HTML输出。右键单击webbrowser中的JSF页面,并选择ViewSource以自己查看它。如果您通过阅读基本的HTTP、HTML和Servlet教程来了解HTTP、HTML和Servlet的工作原理,这也会有所帮助。最终用户只能控制通过HTTP响应(例如JavaScript!)检索并通过HTTP请求(头、参数和正文)发送的任何内容。这非常有用。非常感谢你的帮助。