繁体   English   中英

Tomcat Manager App:使用IE时部署失败,Chrome正常运行

[英]Tomcat Manager App: Deploy fail when using IE, Chrome works

新服务器上的Tomcat Manager应用程序出现了一个奇怪的问题。 上载战争文件时,用户路径信息将包含在应用程序名称中。
示例:上载OMS-PRIME战争时,管理器应用程序部署为/ C:usersUserNameDesktopOMS-PRIME

这仅在使用Internet Explorer时发生。 如果使用Chrome浏览器打开管理器应用程序,则不会发生这种情况。 IE是我们的企业标准浏览器。

  • 伺服器:Windows Server 2012R2
  • 雄猫:8.0.35
  • 的Java:1.8.0_92-b14
  • Internet Explorer 11

有任何想法吗?

通过在文件名值中包含未转义的反斜杠,Internet Explorer当前不符合RFC6266。

如果您能够使用定制版本的Tomcat,则可以在HttpParser.unquote中重新引入条件,如果条件未以双引号开头,则该条件仅返回未修改的字符串:

Index: http://svn.apache.org/repos/asf/tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/http/parser/HttpParser.java
===================================================================
--- java/org/apache/tomcat/util/http/parser/HttpParser.java (revision 1755813)
+++ java/org/apache/tomcat/util/http/parser/HttpParser.java (working copy)
@@ -62,7 +62,7 @@
     }

     public static String unquote(String input) {
-        if (input == null || input.length() < 2) {
+        if (input == null || input.length() < 2 || input.charAt(0) != '"') {
             return input;
         }

您还可以通过执行以下操作,通过修改IE使其不发送filename属性中的完整路径来解决此问题:

1)上网选项
2)安全标签
3)选择相关区域
4)点击自定义级别...
5)在“其他”下,将“将文件上传到服务器时包括本地目录路径”选项更改为“禁用”

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM