簡體   English   中英

如何保護ASP.Net中上傳的文件

[英]How to secure uploaded files in ASP.Net

我正在asp.net中上傳excel,pdf,word,ppt等文檔。 如何確保它的安全性。

假設我有一個網站www.example.com,並且我已將文檔上載到根目錄的“文件”文件夾中。 我上傳的文件名稱為3828392839.pdf,如果在地址欄中輸入“ www.example.com/Files/3828392839.pdf”URL,則可以打開和下載文檔。 我需要如果有一個有效的登錄用戶,則可以打開或下載文件。

為此,您必須在保存文件的同時創建有效的文件夾結構。

例如。 如果用戶ID為20052的用戶已登錄並上傳文件。 然后文件路徑應為:

Files/20052/3828392839.pdf

在這里,我創建了與userid相同的foldername來保存上載的文件。

打開文件時,您將必須比較文件夾foldername即20052和已登錄的userid

如果它們相同,則允許download文件。

您應該根據需要在asp.net網站中實施適當的身份驗證和授權。

要了解更多信息,請通過此鏈接

很簡單 創建一個普通的ASP.NET頁。 進行身份驗證,但是您想要這樣做,如果他們通過了身份驗證,則按照此處所述將文件發送到響應...

如何在HttpResponse中發送文件?

或者,如果他們未通過身份驗證,則不要發送文件,而是使用諸如“訪問被拒絕”之類的html響應

您可以通過創建documents文件夾的權限來保護此安全。 這意味着您需要具有上傳和下載文件的權限。

對於簡單Windows身份驗證:將讀取者和寫入者角色創建為本地用戶/組。 對於基本身份驗證:最好是對角色使用數據庫身份驗證。

如果使用的是IIS7.0,則需要檢查IIS apppool的配置是否正確

如果您使用的是IIS 7+,請參閱以下問題: 如何在IIS 7.5上使用ASP.NET表單身份驗證保護靜態文件?

對於IIS 6,可以將文件放在app_data文件夾中,並且需要使處理程序為文件提供服務。

暫無
暫無

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

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