gpt4 book ai didi

servlets - 在 WEB-INF 下移动资源

转载 作者:行者123 更新时间:2023-12-03 15:53:03 24 4
gpt4 key购买 nike

我有一个包含数百个 HTML、JavaScript 和图像文件的 Web 应用程序。这些文件位于根目录下:

my_root--
-- html
-- js
-- images

这些文件夹包含一些子文件夹。

出于安全原因,我需要将所有这些资源移动到 WEB-INF 文件夹下,以便无法直接访问它们。

目前 JSP 和 servlet 文件已经在 WEB-INF 文件夹下。

对我来说,安全地移动 WEB-INF 下的所有 HTML/JavaScript/images 文件夹而不破坏所有链接/转发到这些文件夹中的资源并确保这些资源不能直接访问的最简单方法是什么?

我正在使用 WebSphere 和 WebLogic 服务器。

最佳答案

What is the easiest method for me to safely move all html/js/images folders under the WEB-INF without breaking all links/forwarding to resources in these folders and make sure these resources are not directly accessible?



你在这里犯了一个思维错误。 HTML/JS/图像(和 CSS)资源 需要无论如何都可以直接访问。对于 JSP,情况有所不同,其中一些(如果不是全部)需要由 servlet 进行预处理(例如,从 DB 检索一些列表以显示在表中)。如果直接访问这些 JSP,那么将完全跳过该 servlet 步骤,这绝对不是您想要的(JSP 最终“空”;没有来自 DB 的任何数据)。这就是为什么它们应该隐藏在 /WEB-INF 中的原因。防止直接访问而不先通过预处理 servlet。此外,在基于 servlet 的 MVC 框架的情况下,这样整个 MVC 框架过程(收集请求参数、转换/验证它们、更新模型值、调用操作等)将被跳过。

您的具体功能需求并不完全清楚(整个问题本身毫无意义;答案只是“不要那样做”),但是如果您真的想限制对不需要的静态资源的访问servlet 仅对某些用户进行预处理,然后您需要实现身份验证/登录系统。您可以使用容器管理的身份验证或自行开发 Filter为了这。

关于servlets - 在 WEB-INF 下移动资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12088103/

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