拒绝直接访问文件夹(仅允许通过应用程序)

发布于 2024-11-26 10:13:16 字数 48 浏览 1 评论 0原文

我需要阻止某人直接访问 pdf,而只允许他们通过应用程序本身拉取。这怎么能做到呢?

I need to prevent someone from directly accessing a pdf, instead only allowing them to be pulled through the app itself. How can this be done?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

指尖上的星空 2024-12-03 10:13:16

将此添加到您的顶级 Web.config 以阻止名为 Reports 的文件夹(您的文件夹名称位于此处)。
这将允许您的应用程序访问 Reports/file.pdf,但对 yoursite.com/Reports/file.pdf 的外部请求将被阻止。

<configuration>
    <system.webServer>   
         <security>
          <requestFiltering>
            <hiddenSegments>
              <add segment="Reports" />
            </hiddenSegments>
          </requestFiltering>
        </security>
    </system.webServer>
</configuration>

Add this to your top-level Web.config to block a folder called Reports (your folder name goes there).
This will allow your application to access Reports/file.pdf but an outside request to yoursite.com/Reports/file.pdf will be blocked.

<configuration>
    <system.webServer>   
         <security>
          <requestFiltering>
            <hiddenSegments>
              <add segment="Reports" />
            </hiddenSegments>
          </requestFiltering>
        </security>
    </system.webServer>
</configuration>
旧城烟雨 2024-12-03 10:13:16

有两种解决方案:

1- 您可以将“UsersUploads”文件夹放在网站之外
目录,因此如果您的网站存在于“c:\website\example.com”上,您
可以把“UsersUploads”放在那里“c:\UsersUploads”,就像IIS有
无法控制此文件夹及其文件,并且您的网站代码将
仍然可以像正常物理路径一样访问该目录。

2- 停止 IIS 提供此文件夹服务:

默认情况下,IIS 不提供某些网站文件夹和文件的服务,例如
应用程序_数据、应用程序_代码、bin、应用程序_全局资源、应用程序_本地资源、
Web.config,...

There are two solutions for doing that:

1- You can put your “UsersUploads” folder outside the website
directory, so if your website exist on “c:\website\example.com” you
can put the “UsersUploads” there “c:\UsersUploads”, Like that IIS has
no control over this folder and its files, And your website code will
still have access to this directory as a normal physical path.

2- Stop IIS from serving this folder:

IIS by default doesn’t server some website folders and files such
App_Data, App_Code, bin, App_GlobalResourses, App_LocalResources,
Web.config,….

救星 2024-12-03 10:13:16

将文件放入 app_data 文件夹中,然后使用 HttpHandler 来提供文件。如果你想隐藏它并使其看起来更干净,你可以使用 url 重写。

Put the files in the app_data folder and then use a HttpHandler to serve the files. You can use url rewriting if you want to hide it and make it look cleaner.

单身狗的梦 2024-12-03 10:13:16

设置文件夹的权限以拒绝任何人的访问。请您的系统管理员创建一个帐户并授予对该文件夹的读取权限。然后在 web.config 文件中设置模拟以使用新帐户。

阅读此

http://msdn.microsoft.com/en-我们/库/aa292118(VS.71).aspx

set the permissions on the folder to deny access to whoever. Ask your sys admin guy to create an account and give read access to the folder. Then set impersonation up in the web.config file to use the new account.

Read this

http://msdn.microsoft.com/en-us/library/aa292118(VS.71).aspx

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文