Windows XP Windows 7 Windows 2003 Windows Vista Windows教程綜合 Linux 系統教程
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟件教程
 Windows教程網 >> 電腦軟件教程 >> 服務器技術 >> 關於服務器 >> Web.config 安全相關配置

Web.config 安全相關配置

日期:2017/2/8 10:20:24      編輯:關於服務器

web.config 位於根目錄

1、authentication節點

<system.web>

<!--配置ASP.NET 使用的安全身份驗證模式,以標識傳入的用戶。-->

<authentication mode="Forms">

<forms loginUrl="~/User/Login.aspx" name=".ASPXAUTH" defaultUrl="User/Default.aspx" timeout="30" path="/"/>

</authentication>

基於窗體(Forms)的身份驗證配置站點,當沒有登陸的用戶訪問需要身份驗證的網頁,網頁自動跳轉到登陸網頁。其中元素loginUrl表示登陸網頁的名稱,name表示Cookie名稱

2、authorization 節點

<!--配置Web 應用程序的授權,以控制客戶端對URL 資源的訪問。-->

<authorization>

<allow users="*"/>

<deny users="?"/>

</authorization>

allow 向授權規則映射添加一個規則,該規則允許對資源進行訪問。

deny 向授權規則映射添加一條拒絕對資源的訪問的授權規則。

users="*" 是指任何用戶 users="?" 是指經身份驗證的用戶

注意: 運行時,授權模塊從最本地的配置文件開始,循環訪問allow 和deny 元素,直到它找到適合特定用戶帳戶的第一個訪問規則。然後,該授權模塊根據找到的第一個訪問規則是allow 還是deny 規則來允許或拒絕對URL 資源的訪問。默認的授權規則為<allow users="*"/>。因此,默認情況下允許訪問,除非另外配置。

如果在根目錄下的web.config配置太繁瑣,可以配置到相應目錄下,例如User目錄下的web.config文件

3、customErrors 節點

<customErrors mode="Off">

</customErrors>

<customErrors defaultRedirect="url"

mode="On|Off|RemoteOnly">

<error. . ./>

</customErrors>

defaultRedirect 可選的屬性。指定出錯時將浏覽器定向到的默認URL。如果未指定該屬性,則顯示一般性錯誤。

Mode 必選的屬性。指定是啟用或禁用自定義錯誤,還是僅向遠程客戶端顯示自定義錯誤。

此屬性可以為下列值之一。

值 說明

On 指定啟用自定義錯誤。如果未指定defaultRedirect,用戶將看到一般性錯誤。

Off 指定禁用自定義錯誤。這允許顯示標准的詳細錯誤。

RemoteOnly 指定僅向遠程客戶端顯示自定義錯誤並且向本地主機顯示ASP.NET 錯誤。這是默認值。

默認值為RemoteOnly。

error 可選的元素。指定給定HTTP 狀態代碼的自定義錯誤頁。錯誤標記可以出現多次。子標記的每一次出現均定義一個自定義錯誤條件。

例如:

<customErrors mode="RemoteOnly" defaultRedirect="~/Prompt/GenericError.htm">

<error statusCode="403" redirect="~/Prompt/NoAccess.htm"/>

<error statusCode="404" redirect="~/Prompt/FileNotFound.htm"/>

<error statusCode="500" redirect="~/Prompt/GenericError.htm"/>

</customErrors>

這裡可以讓用戶自定義出錯頁。

4、pages 節點

<!--全局定義頁特定配置設置,如配置文件范圍內的頁和控件的ASP.NET 指令。-->

<pages validateRequest="true" styleSheetTheme="UserDefaultTheme">

validateRequest="true"

該值確定ASP.NET 是否針對危險值檢查來自浏覽器的輸入。如果ASP.NET 針對危險值檢查來自浏覽器的輸入,則為true;否則為false。默認值為true。

這個功能是為了防止跨站腳本等危險代碼。使全局默認為true。只有小數頁面,如搜索頁面

Search.aspx 設為: ValidateRequest="false" 。為了可以搜索類似<div> 等內容,如果只是文字性的輸入,可修改頁search.aspx 的設置,以增強系統安全性。

Security.config 配置說明

文件位於config目錄

1、後台頁面訪問配置

noCheckAdminLogOn

後台不檢查權限的頁面

<noCheckAdminLogOn mode="OnlyList">

<page url="~/Admin/Login.aspx" /> <!---後台登陸頁-->

<page url="~/Admin/Prompt/ShowError.aspx" /> <!---後台出錯頁-->

</noCheckAdminLogOn>

2、檢查外站鏈接的後台頁面配置

noCheckUrlReferrer

後台不檢查來源頁的列表,即管理員用戶可以直接訪問的文件列表。後台設置是默認不允許直接訪問,這樣可以保護後頁頁面不被非法方式訪問和外站鏈接訪問,有效防止跨站請求偽造。

<noCheckUrlReferrer mode="OnlyList">

</noCheckUrlReferrer>

如果文件不在列表中,直接在URL 裡訪問,將出現錯誤提示:

產生錯誤的可能原因:

對不起,為了系統安全,不允許直接輸入地址訪問本系統的後台管理頁面。

如需要,用戶可以加上自定義的內容。

3、防止跨站請求偽造追加安全碼的頁面配置

checkSecurityCode

頁面提交時檢查安全碼。

防止不正常操作(惡意操作)造成系統重大損失。也是對一些重要操作的保護,防止跨站請求偽造。

如:

<page url="~/Admin/Contents/ModelManage.aspx?Action=Delete" />

<page url="~/Admin/Contents/ModelManage.aspx?Action=Delete" />

4、頁面操作權限碼的配置

checkPermissions

Copyright © Windows教程網 All Rights Reserved