如何拒绝访问网站中的.dll文件(在IIS 6和7上)

时间:2009-01-06 13:00:11

标签: iis-7 iis-6 web-config

如果我使用http://mysite/myfolder/myfile.dll之类的网址,我会收到一个对话框“您要打开还是保存此文件”。当然,我不希望人们能够下载和反汇编我们的dll。我如何拒绝人们直接访问这些文件?

5 个答案:

答案 0 :(得分:4)

通常默认情况下不允许这样做。如果您进入IIS管理器并编辑网站,则需要取消选中“脚本源访问权限”。 DLL也应该在禁止的文件扩展名列表中。

答案 1 :(得分:1)

简短的回答是,不应该有任何您不想在网络根目录下提供的文件。

我个人不知道IIS 6或7,但在Apache下,目录被指定为Web根目录,例如\ site \ htdocs,外面没有任何东西可以访问。如果将DLL文件保留在该层次结构之外,则它们将无法访问。

答案 2 :(得分:0)

设置适当的Windows文件安全性和访问权限。

E.g。当您使用asp.net时,您应该拒绝除ASPNET帐户以外的所有用户访问.dll。

!IUSR_xxx帐户对你的.dll没有任何权利!

答案 3 :(得分:0)

拒绝所有dll在asp.net网站上都很激烈,因为Silverlight等使用客户端浏览器需要下载的客户端dll。

您可以使用IIS管理控制台或Management API来禁用dll文件或目录上的身份验证。

只需取消选中所有身份验证选项,访问权限就会被拒绝。

答案 4 :(得分:0)

如果由于某种原因无法更改IIS中的脚本映射,可以使用HttpForbiddenHandler