gpt4 book ai didi

java - 限制用户访问 Java EE 应用程序中的文件夹

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:21:42 26 4
gpt4 key购买 nike

如何隐藏我的网络服务器上的文件?我有一个目录“files”,我在其中存储了一些 pdf 文件。我不想让用户通过这样的 URL 访问文件:

www.example.com/files/1.pdf

取而代之的是,我想在数据库中用一个 id 映射每个文件,并让用户像这样访问它:

 www.example.com/fileId=5569a

用户不应该能够访问 files 目录。

我该怎么做?

最佳答案

这是一个非常前卫的答案

首先,您应该使用部署描述符 (web.xml) 拒绝访问目录

<security-constraint>
<display-name>excluded</display-name>
<web-resource-collection>
<web-resource-name>No Access</web-resource-name>
<url-pattern>/files/*</url-pattern>
</web-resource-collection>
<web-resource-collection>
<web-resource-name>No Access</web-resource-name>
<url-pattern>/files/*</url-pattern>
<http-method>DELETE</http-method>
<http-method>PUT</http-method>
<http-method>HEAD</http-method>
<http-method>OPTIONS</http-method>
<http-method>TRACE</http-method>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<auth-constraint />
<user-data-constraint>
<transport-guarantee>NONE</transport-guarantee>
</user-data-constraint>
</security-constraint>

现在您的文件是安全的,您必须实现一个带有 url 映射“/”的 Servlet,它将检查以在请求中找到“fileId”参数。如果找到它,servlet 将向用户提供文件下载,否则它将把用户重定向到主页。

要实现 servlet,请参阅帖子 Call a servlet on click of hyperlink

要实现文件下载,请参阅我的帖子 Is there a common way to download all types of files in jsp?

关于java - 限制用户访问 Java EE 应用程序中的文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11484466/

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