2012-02-13 73 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配置。如果這是你想要的,你可能需要編寫一些服務器端代碼。