【问题标题】:Weblogic 12c server ignoring '#' symbol in URLWeblogic 12c 服务器忽略 URL 中的“#”符号
【发布时间】:2013-08-20 19:49:11
【问题描述】:

我有 GET 请求被发送到 weblogic 12c 服务器,它携带用户信息,在服务器端我抓取这些 处理请求的信息。

GET 请求如下所示:

URL:/prem/JSP/xml/prems.jsp?username=rjanga&password=1234roh#&address=3450Rivast&city=FT+COLLINS&state=CO&zip=80526。

因为我的密码中有一个“#”符号,所以 weblogic 服务器会忽略它以及之后的任何内容 它。

它只将 url 视为 /prem/JSP/xml/prems.jsp?username=rjanga&password=1234roh(忽略符号 '#' 和它后面的所有字符串,如地址、城市..等)

在做了一些研究并通过this link 之后,我尝试了其中提到的解决方案。

但它没有帮助,感谢任何帮助。

【问题讨论】:

    标签: weblogic weblogic12c


    【解决方案1】:

    您将不得不对密码字段进行编码。将密码放在 URL 中是非常不安全的。你不应该这样做。也就是说,这里有一些信息:

    来自http://java.sun.com/j2se/1.5.0/docs/api/java/net/URL.html

    URL 类本身不会根据 RFC2396 中定义的转义机制对任何 URL 组件进行编码或解码。调用者有责任对在调用 URL 之前需要转义的任何字段进行编码,并对从 URL 返回的任何转义字段进行解码。此外,由于 URL 不知道 URL 转义,因此它无法识别同一 URL 的编码或解码形式之间的等价性。例如两个网址:

    http://foo.com/hello world/ 
    

    http://foo.com/hello%20world
    

    会被认为是不相等的。

    请注意,URI 类在某些情况下会执行其组件字段的转义。管理 URL 编码和解码的推荐方法是使用 URI,并使用 toURI() 和 URI.toURL() 在这两个类之间进行转换。

    编码和解码这些 URL 字符串由您决定。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-09-22
      • 2016-11-25
      • 2020-02-15
      • 2019-11-08
      • 2021-02-18
      • 2014-12-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多