我需要阻止某人直接访问pdf,而只是允许他们通过应用程序本身。怎么办呢?
答案 0 :(得分:10)
将其添加到顶级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>
答案 1 :(得分:1)
查看我的博客文章: How to hide users files and folders on your website?
这样做有两种解决方案:
1-您可以将“UsersUploads”文件夹放在网站之外 目录,所以如果你的网站存在“c:\ website \ example.com”你 可以把“UsersUploads”放在那里“c:\ UsersUploads”,就像IIS那样 无法控制此文件夹及其文件,您的网站代码将会 仍然可以访问此目录作为正常的物理路径。
2-停止IIS提供此文件夹:
IIS默认情况下不会为某些网站文件夹和文件提供服务 App_Data,App_Code,bin,App_GlobalResourses,App_LocalResources, 的web.config,...
答案 2 :(得分:0)
将文件放在app_data
文件夹中,然后使用HttpHandler
提供文件。如果要隐藏它并使其看起来更清晰,可以使用URL重写。
答案 3 :(得分:-1)
设置文件夹的权限以拒绝访问任何人。请您的系统管理员创建一个帐户并授予该文件夹的读取权限。然后在web.config文件中设置模拟以使用新帐户。
阅读本文
http://msdn.microsoft.com/en-us/library/aa292118(VS.71).aspx