问题标签 [hdiv]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
650 浏览

hdiv - HDIV 不会从验证中排除参数

我正在使用带有弹簧的 HDIV 2.1.9,并且我有以下配置

在 /secured/content/ URL 下,我有很多带有输入文本区域的页面,其中包含用于存储来自 html jscript 编辑器(sumernote)的内容的名称数据。HDIV 不会从帖子中排除 data 参数,并且每次我尝试保存 html 数据时都会产生 hdiv 访问异常。

如何正确配置 HDIV 以从验证中排除数据输入?如果 HDIV 有任何选项允许来自编辑器的安全 html 文本(没有脚本标签或其他危险的 xss 代码),那就太好了。即使对于 jscript 编辑器生成的内联样式标签,产生 HDIV 违规也不是很灵活。现代 Web 应用程序几乎总是包含一个允许基本 html 代码的文本区域。

0 投票
1 回答
215 浏览

java - 在登录页面上实现 HDIV

我在 Spring MVC 中实现 HDIV,但在登录页面中遇到了问题。由于 HDIV 需要使用form标签

(如:)<form:form action="${contextPath}/j_spring_security_check" method="post">,我的应用程序会抛出异常,因为我没有指定modelAttribute

java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name 'command' available as request attribute

任何人都可以澄清这种担忧吗?有没有其他方法可以在登录页面上实现 HDIV?或者有没有办法在不使用的情况下实现 HDIV <form:

0 投票
1 回答
635 浏览

java - 带有参数的 POST 上的 HDIV INVALID_CONFIDENTIAL_VALUE

我的 JSP 中有以下代码:

这似乎不起作用。如果我单击该Update按钮,控制台将记录一个错误INVALID_CONFIDENTIAL_VALUE

但是,一个也有 POST 方法但没有任何参数的表单似乎可以工作:

我的表格可能有什么问题?

我有以下 HDIV 配置:

0 投票
1 回答
708 浏览

spring - HDIV + Spring 标签库(表单)= 错误,可能的错误?

我在使用带有标签 Spring 元素的 HDIV 时遇到了麻烦:“<form:form>”。

首先,我将解释我的应用程序的架构:我使用的是 Spring 框架 4.1.6、Spring Security 4.0.0 和 HDIV 2.1.10。

到目前为止,我在开发过程中没有遇到错误,但是现在我在 jsp 文件中找到了一个,当我使用 Spring 的 form 标记时:

我在第 34 行得到了这个错误:“< form:form”

java.lang.NullPointerException at org.hdiv.web.servlet.support.HdivRequestDataValueProcessor.processAction(HdivRequestDataValueProcessor.java:122) at org.springframework.web.servlet.tags.form.FormTag.processAction(FormTag.java:479) at org.springframework.web.servlet.tags.form.FormTag.resolveAction(FormTag.java:433) 在 org.springframework.web.servlet.tags.form.FormTag.writeTagContent(FormTag.java:349) 在 org.springframework。 web.servlet.tags.form.AbstractFormTag.doStartTagInternal(AbstractFormTag.java:84) 在 org.springframework.web.servlet.tags.RequestContextAwareTag.doStartTag(RequestContextAwareTag.java:80) 在 org.apache.jsp.WEB_002dINF.jsp。 newUser_jsp._jspx_meth_form_005fform_005f0(newUser_jsp.java:197) 在 org.apache.jsp.WEB_002dINF.jsp.newUser_jsp._jspService(newUser_jsp.java:137) 在 org.apache。jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:729)

还有更多......(如果有必要,我可以提供)

当我尝试相同的代码,但将标签“<form:form>”交换为标签“<form>”时,它可以工作。

当我详细检查 HDIV 的代码时:

HdivRequestDataValueProcessor.class

我想知道可能是因为'form:form'的结构与'form'不同,HDIV无法找到一些参数,例如'action','method'......但我不确定。

我还附上了我的配置文件以提供更多有用的信息(基于 Java 的配置):

WebApplicationInit.class

HdivSecurityConfig.class

安全配置类

}

SecurityWebApplicationInit.class

先感谢您!!

此致,

阿尔贝托

- - 编辑 - -

按照给定的示例,这现在是我的代码:

WebApplicationInit.class

HDIVSecurityConfig.class

web.xml

新用户.jsp

MvcConfig.class

}

我更改了将 HDIV 添加到我的 Web 应用程序的方式,将其添加到 xml 文件中,而不是使用基于 java 的配置来执行此操作。另外,我使用示例添加了限定符标签(MvcConfig.class),但是当我使用它时它不起作用......(它找不到bean......)。空错误并没有消失......

0 投票
0 回答
462 浏览

java - forEach 内部表单选择中的 HDIV 错误

我在尝试form:select在 HDIV 中实施时遇到了麻烦。这是我在 JSP 中呈现选择器和选项的代码:

在我单击分配并启动操作后,请求将Controller使用 selected 的正确 ID到达form:option

但是,当我检查控制台时,出现了错误: INVALID_CONFIDENTIAL_VALUE;/pmsys/project/assign/staff;staffID;27;[27, 28, 29, 30, 31, 32, 41];127.0.0.1;127.0.0.1;root

当我试图跟踪吐出错误的代码行时: org.hdiv.filter.ValidatorHelperRequest:948

评估此条件时 ,与originalValue和 参数不一致:valueif (!m.matches() || (Integer.valueOf(value).intValue() >= stateValues.size())) {

originalValue= [27、28、29、30、31、32、41]

value= 27(这是form:option我在 JSP 中选择的 ID 号)

有没有人有解决这个问题的方法?这可能是 HDIV 中的错误吗?

注意: 如果我没有<c:forEach内部<form:select.

更新: 这是我的hdiv 配置

WEB.xml _

版本

<hdiv-version>2.1.9</hdiv-version>

<org.springframework>4.1.6.RELEASE</org.springframework>

0 投票
1 回答
285 浏览

jquery - HDIV + Jquery 数据表 + JSON

我正在尝试将 HDIV 集成到我们现有的应用程序中。但是,我在以下用例中面临 CSRF 令牌的问题。

用例:

我使用 JQuery 数据表以表格格式呈现数据。我们有一个包含超链接的数据表列。我需要将 CSRF 令牌添加到基于用于呈现 JQUERY 数据表的 JSON 数据生成的每个超链接中。

理想情况下,根据 HDIV 文档,我们需要将所有 URL 嵌入c:urlspring:url标签中,以便在服务器上生成 CSRF 令牌。但是,Jquery 数据表使用 JSON 来呈现我的数据表中的数据和超链接。

由于我们不能将spring:url(在服务器上执行)与用于数据表生成(由浏览器执行)的动态 JSON 一起使用,我如何让 HDIV 知道使用 JSON 数据生成的超链接应该附加 CSRF 令牌?

0 投票
0 回答
94 浏览

spring - HDIV 和 Spring MVC - 在 startPage 之后

在 HDIV 中,在我配置了起始页之后,我应该在哪里定义它之后允许的其他地址?

PS:我已经在spring中配置了用户流。

我正在使用最后一个 Spring MVC。

0 投票
1 回答
756 浏览

ajax - HDIV - 如何修改 Ajax 请求中的 URL 参数值?

我正在尝试将 HDIV 集成到我现有的应用程序中。但我一直在解决以下问题。

用例: 1. 我有一个包含大量字段的大表单。当我更改下拉列表中的值时,我通过将所选值作为 URL 参数传递来进行 Ajax 调用。前任:

  1. $.get("http:://ajaxurl?dynamicParam=1", function(data) {/将新的 HTML 内容渲染到现有页面/});

  2. $.get("http:://ajaxurl?dynamicParam=2", function(data) {/将新的 HTML 内容渲染到现有页面**/}); 等等

问题: 当我在下拉列表中选择值时,在 ajax 参数中传递了不同的值,并且 HDIV 引发了 INVALID_PARAMETER_VALUE 错误。

我能看到的唯一解决方案是我需要提交带有 _MODIFIED_HDIV_STATE 值的整个表单。

但是,我不能提交整个表单(其中有大量的数据),以便在我的 Ajax 调用中只传递一个值。此外,我不能排除绕过 HDIV 验证的参数,因为我在许多地方的应用程序中都有相同的用例。

有没有办法将修改后的 HDIV 状态作为 AJAX 调用的一部分传递,就像我们在 FORM submit 中所做的那样?或者请建议我解决这个问题的方法。

请帮我解决这个问题。(在将 HDIV 集成到我的大部分应用程序中后,我被困在了中途)

0 投票
2 回答
249 浏览

jsf-2 - 与 primefaces 数据表组件集成时如何忽略 HDIV 中的验证

我正在使用 Primefaces 数据表组件。此数据表组件在浏览器上动态创建一个隐藏字段。

Primefaces数据表代码如下

现在,当页面提交时,HIDV 认为在浏览器上动态创建的隐藏字段是一种黑客攻击的情况,从而重定向到错误页面,控制台日志为

在我的 hdiv-config.xml 文件中,我修改了文件,以便 HDIV 忽略该字段出现的验证

但是没有运气仍然是相同的控制台错误,并且 HDIV 正在重定向到错误页面。有人可以帮我解决如何避免在 HDIV 上进行这些验证吗?

0 投票
1 回答
58 浏览

spring - HDIV 用例:与发布到 HDIV 安全站点的第三方站点集成

我想知道在下面这样的特定用例中,HDIV 保护是否适用于 spring mvc 应用程序,如果是,如何 -

用例 1 - 第三方网站发布到 HDIV 保护站点(没有登录认证);流程是这样的 - 第三方站点 -> 表单发布 -> HDIV 安全页面 -> 验证参数 -> 转发到另一个 HDIV 安全页面以进行业务流程- 在这种情况下如何配置起始 URL?

用例 2 - 第三方网站希望通过 iframe 访问使用 HDIV 保护的网站上的页面