java – 在HTTP请求中转义斜杠
发布时间:2020-12-15 04:58:22 所属栏目:Java 来源:网络整理
导读:我从 Javascript执行http DELETE请求到Java Web应用程序.该网络应用程序使用泽西岛来发送网址.棘手的是,我正在使用包含正斜杠的路径参数(例如“XX / 6666”).当我在Jetty(maven插件)中运行时,它工作正常,但是当我在我的生产服务器(Tomcat)上运行它没有,即我
我从
Javascript执行http DELETE请求到Java Web应用程序.该网络应用程序使用泽西岛来发送网址.棘手的是,我正在使用包含正斜杠的路径参数(例如“XX / 6666”).当我在Jetty(maven插件)中运行时,它工作正常,但是当我在我的生产服务器(Tomcat)上运行它没有,即我得到404.
使用/转义正斜杠,因此我的请求URL看起来像 删除http://…/4776/shipmentOrders/XX/6666 这是否允许在http规范中,Jetty和Tomcat是否可能以不同方式解释这些? 解决方法
Tomcat(我认为在版本5,6和7中)有目的地阻止在路径中使用/来防止目录遍历攻击.据称,您可以通过设置org.apache.tomcat.util.buf来关闭此保护. UDecoder.ALLOW_ENCODED_SLASH =真.我没有亲自对此进行测试,但看到网上的其他人声称它已经为他们解决了这个问题.但请注意,Tomcat前面的Web服务器也可能拦截并重写URL,自动解码/转发正斜杠.
参考:http://tomcat.apache.org/tomcat-7.0-doc/config/systemprops.html (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |