簡體   English   中英

如何從 iis7 中的 web 停止 web 站點目錄外部文件訪問

[英]how to stop web site directory outside file access from web in iis7

我有一個 windows 服務器 2008。我正在使用 IIS7 添加幾個 web 站點。 但是所有 web 都可以訪問外部文件。 例如:

@{ DirectoryInfo di=new DirectoryInfo("c:\\");}
@foreach (var item in di.GetFiles())
{
    <div>@item.FullName</div>
}

此代碼成功枚舉文件。 我需要配置無法訪問 web 站點目錄之外的內容。 僅使用內部文件和文件夾

怎么做?

您可以創建一個具有有限權限的新用戶,並設置為在該用戶下運行應用程序池。

更改 AppPool 的身份(即指定 App Pool 正在運行的憑據)

  1. 打開 IIS
  2. 連接樹中的 Select 應用程序池
  3. Select 應用程序池
  4. 右鍵單擊和 select 高級設置。
  5. 查找進程 Model/身份。 默認可能讀取 ApplicationPoolIdentity
  6. 單擊該值(例如 ApplicationPoolIdentity)
  7. 單擊右側顯示的省略號
  8. Select 內置帳戶或單擊自定義帳戶
  9. 如果選擇自定義帳戶,請單擊設置並指定 Windows 帳戶和密碼
  10. 單擊“確定”關閉“設置憑據”對話框
  11. 單擊“確定”關閉“應用程序池標識”對話框
  12. 單擊“確定”關閉“高級設置”對話框。
  13. 回收應用程序池。

您還可以在 web.config 文件中設置身份:

<system.web>
  <identity impersonate="true"
            userName="UserName"
            password="Password"/>
</system.web>

您顯示的代碼並不意味着外部個人可以訪問您服務器上的文件,它所顯示的只是您服務器上運行的程序可以訪問服務器上有意義的文件。

如果您想阻止程序訪問這些文件,請為那些不是運行您要阻止訪問它們的程序的用戶的用戶添加安全權限。

如果您希望保護目錄,請查看使用 .htaccess(非常基本的安全性)或考慮 Alex 的解決方案

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM