Security JSF2 PhaseListener能否捕获黑客在页面提交过程中所做的输入值更改

Security JSF2 PhaseListener能否捕获黑客在页面提交过程中所做的输入值更改,security,jsf-2,jsf-2.2,Security,Jsf 2,Jsf 2.2,我正在处理JSF2 web应用程序,使用篡改数据工具在Firefox中运行web应用程序,以测试其漏洞 当用户/黑客更改输入文本的数据或通过篡改数据更改多个选择时 JSF中是否有任何组件可以检查这种潜在的黑客行为并检查已更改的值。我在想如果PhaseListener能帮上什么忙,有人能帮我指点一下吗 当用户/黑客更改输入文本的数据时 我绝对不明白为什么这会成为一个问题。也许你说的是禁用或只读输入?好吧,你不必担心这个。当输入在服务器端设置了readonly=“true”或disabled=“tr

我正在处理JSF2 web应用程序,使用篡改数据工具在Firefox中运行web应用程序,以测试其漏洞

当用户/黑客更改输入文本的数据或通过篡改数据更改多个选择时

JSF中是否有任何组件可以检查这种潜在的黑客行为并检查已更改的值。我在想如果PhaseListener能帮上什么忙,有人能帮我指点一下吗

当用户/黑客更改输入文本的数据时

我绝对不明白为什么这会成为一个问题。也许你说的是禁用或只读输入?好吧,你不必担心这个。当输入在服务器端设置了
readonly=“true”
disabled=“true”
属性时,JSF将跳过处理

。。。或者通过篡改数据更改多个选择

你也不必为此担心。JSF将根据可用项列表验证所选项,并在其中一项不匹配时生成一个



总而言之,我有一个强烈的印象,你实际上从未亲自尝试/测试过它。你最好在提出一个颇具修辞性的问题之前先这样做,然后什么也不做。

BalusC就这么做了。此外,如果你害怕“中间人攻击”,只需使用https,这是唯一好的解决方案。很可能你问这个是因为这个HDIV的东西。。。“完整性:HDIV保证服务器生成的所有数据(链接、隐藏字段、组合值、单选按钮、destiny页面等)的完整性(无数据修改)。在HDIV中,这类数据称为不可编辑数据。由于此属性,HDIV有助于消除大多数基于参数篡改的漏洞。”(第2部分)客户端javascript框架需要此属性,但JSF的设计考虑了安全性。每个讨厌jsf的人都需要退回到使用HDIV之类的东西,或者让他们的服务器端代码更复杂。这就是为什么JSF是good@Kukeltje当前位置我总是觉得很有趣:)好吧,可能是我的问题措词不正确……所以请你。帮助我理解,通过使用PhaseListener,我们可以获得输入组件(text/textarea)的旧值和新更新值。从渲染视图阶段开始,我调试并发现我只得到更新的值,而不是旧值。我需要一种方法来比较旧值和新值,具体目的是什么?不,阶段监听器对于这项工作来说是错误的工具。还有另一个监听器,但是您最好先告诉实际的功能需求,这样才能回答正确的解决方案。到目前为止,如果您想要的只是一个不可编辑的输入字段,则听起来您只需要
readonly=“true”
disabled=“true”
,如当前形式的问题所示。