2012-02-13 51 views
0

我有一个Windows Web服务器和我使用XML的web.config文件我现在有扩展的权限设置为false的.exe,.bin和.dll文件如何给一个windows web服务器目录权限?

,但我犯了一个所谓的“事”与目录一个.exe在里面,我想写的XML目录的权限,让我从它下载.exe文件

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <system.webServer> 
     <security> 
      <requestFiltering> 
       <fileExtensions> 
        <add fileExtension=".dll" allowed="false" /> 
        <add fileExtension=".exe" allowed="false" /> 
        <add fileExtension=".bin" allowed="false" /> 
       </fileExtensions> 
      </requestFiltering> 
     </security> 
    </system.webServer> 
</configuration> 

请帮助吗?

+0

你到底想做什么?你想允许Web客户端从Web服务器上的任何公共位置下载.exe文件吗? – 2012-02-13 22:30:59

+0

什么是Windows网络服务器?一个类似于Microsoft IIS的程序? – 2012-02-13 22:33:03

+0

@ lorenzo是的,我想要的就是我想让它让一个或两个文件夹让.exe文件从他们那里下载,但不适用于其他地方 – 2012-02-13 22:35:11

回答

0

IIS7 documentation,有3个标签,您可以使用内<requestFiltering>控制URL访问:

  • <denyUrlSequences> - 该元素可以包含的是IIS 7将拒绝URL序列模式的集合;例如:您可以拒绝攻击者可能尝试利用的部分URL序列。
  • <fileExtensions> - 此元素可以包含IIS 7将拒绝或允许的文件扩展名集合;例如:您可以阻止对Web.config文件的所有请求.`
  • <hiddenSegments> - 此元素可以包含无法浏览的URL集合;例如:您可以拒绝对ASP.NET App_Code文件夹的请求。

例如:

<requestFiltering> 
    <!-- deny access to any URL which contains /private --> 
    <denyUrlSequences> 
     <add sequence="/private"/> 
    </denyUrlSequences> 
    <!-- block all file extensions except js,css,html --> 
    <fileExtensions allowUnlisted="false"> 
     <add fileExtension=".js" allowed="true" /> 
     <add fileExtension=".css" allowed="true" /> 
     <add fileExtension=".html" allowed="true" /> 
    </fileExtensions> 
    <!-- hide config and bin dir --> 
    <hiddenSegments> 
     <add segment="config" /> 
     <add segment="bin" /> 
    </hiddenSegments> 
</requestFiltering> 

您可以隐藏一些网址或阻止某些文件扩展名,但是,据我能想到的,这是不可能微调特定文件扩展名的可访问性通过文件夹更改IIS配置。如果这是你想要的,你可能需要编写一些服务器端代码。