5

我需要阻止某人直接访问 pdf,而只允许他们通过应用程序本身被拉取。如何才能做到这一点?

4

4 回答 4

14

将此添加到您的顶级 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>
于 2013-12-03T19:03:46.250 回答
3

有两种解决方案:

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

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

默认情况下,IIS 不提供某些网站文件夹和文件,例如 App_Data、App_Code、bin、App_GlobalResources、App_LocalResources、Web.config 等。

于 2011-07-25T20:59:13.627 回答
0

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

于 2011-07-25T20:59:21.083 回答
-1

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

读这个

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

于 2011-07-25T20:54:31.430 回答