放置 CORS 筛选器时,实体名称必须紧跟实体引用中的“&”

The entity name must immediately follow the '&' in the entity reference when putting CORS Filter

提问人:KevinM 提问时间:2/9/2023 更新时间:2/9/2023 访问量:32

问:

我想登录我的应用程序,但自从将 CORS 筛选器放入我的 web.xml 文件后,我总是收到“实体名称必须紧跟实体引用中的'&'”错误。

有趣的是,当我没有CORS过滤器时,不会发生此错误,因此它必须对此代码执行某些操作。

关于为什么会发生这种情况的任何想法?

这里是 CORS 过滤器代码:

<filter>
    <filter-name>CorsFilter</filter-name>
    <filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
    <init-param>
      <param-name>cors.allowed.origins</param-name>
      <param-value>*</param-value>
    </init-param>
    <init-param>
      <param-name>cors.allowed.methods</param-name>
      <param-value>GET,POST,HEAD,OPTIONS,PUT</param-value>
    </init-param>
    <init-param>
      <param-name>cors.exposed.headers</param-name>
      <param-value>Access-Control-Allow-Origin,Access-Control-Allow-Methods</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>CorsFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
  
</web-app>

已经尝试了实体名称 < 和 >,但也没有工作,或者我做错了什么。

JavaScript XML CORS xmlhttprequest entityreference

评论

0赞 ThW 2/9/2023
消息通常来自 HTML/XML 中未转义的消息。 需要转义为(它的有效实体引用)。否则,分析器会尝试使用以下字符将其读取为实体引用。我在您的 XML 中没有看到 - 所以它可能是使用 XML 的代码。&&&amp;&
0赞 KevinM 2/18/2023
谢谢你的回答,我实际上发现了问题所在,我登录应用程序的密码中有一个&-Character,不知何故这就是问题所在。可能是密码中的 &-Character 被解释为实体引用
0赞 ThW 2/19/2023
这可能表明失踪的逃生。如果将密码放入 XML 字符串中而没有正确转义,则可能会导致错误消息。这是一个可能的安全问题 - XML 注入。

答: 暂无答案