gpt4 book ai didi

java - 为什么此 URL 从 Tomcat 返回错误 400?

转载 作者:行者123 更新时间:2023-11-28 23:16:14 25 4
gpt4 key购买 nike

我有一个运行 Java servlet 的 Tomcat 服务器。我正在尝试制作一个返回存储文件的 servlet,给定它们的加密 ID。

编号:100

加密ID:+e4/E5cR/aM=

URL 编码 ID:%2Be4%2FE5cR%2FaM%3D

结果 URL:http://localhost/file/demo/%2Be4%2FE5cR%2FaM%3D

当我尝试访问该链接时,我什至没有进入我的 servlet 代码 - 服务器返回此错误:加载资源失败:服务器响应状态为 400(错误请求)

这个 URL 有什么问题导致 Tomcat 在到达我的代码之前拒绝它?我通过 URL 编码器运行它,但我没有在其中看到任何无效字符。

最佳答案

您在网址中编码了斜杠“/”。由于潜在的攻击,Apache 不允许它们。有设置允许他们:

System.setProperty("org.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH", "true");

-Dorg.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true

查看相似 post .

关于java - 为什么此 URL 从 Tomcat 返回错误 400?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49004947/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com