【发布时间】:2017-03-10 19:06:06
【问题描述】:
当我们使用下面的代码创建 Struts2 复选框时
<s:checkbox name="checkMe" fieldValue="true" label="Check Me for testing"/>
它给出了下面的 HTML 表示(我指的是https://www.mkyong.com/struts2/struts-2-scheckbox-checkbox-example/)
<input type="checkbox" name="checkMe" value="true" id="xx_checkMe"/>
<input type="hidden" id="__checkbox_xx_checkMe" name="__checkbox_checkMe" value="true"/>
<label for="resultAction_checkMe" class="checkboxLabel">Check Me for testing</label>
是否有办法消除创建隐藏参数,因为它会导致我的应用程序存在安全漏洞
【问题讨论】:
-
隐藏参数是一个特性,它被复选框拦截器使用。您认为它会造成什么样的安全漏洞?
-
@AndreaLigios MongoDB NOSQL 注入。工具能够将特殊字符附加到该隐藏参数并传递给后端。
-
这只是一个隐藏的输入。输入但隐藏。只需输入。您的 工具 可以将特殊字符附加到任何输入。您需要清理输入,而不是删除隐藏字段。
-
@AleksandrM。由于它是由框架生成的,因此我无法对其进行任何清理
-
它是为复选框创建的,在您的情况下为
checkMe。你能消毒一下吗?
标签: java jsp checkbox struts2 struts-tags