前言
在http://www.survivalescaperooms.com/aehyok/p/3558661.html這篇博文中,大致對(duì)配置文件有了初步的了解,并且在文中有提到過<appSettings>和<connectionStrings>這兩個(gè)節(jié)點(diǎn),在本文中將會(huì)介紹學(xué)習(xí)其他節(jié)點(diǎn)。
<compilation>節(jié)點(diǎn)
<compilation>節(jié)點(diǎn)配置 asp.net 使用的所有編譯設(shè)置。默認(rèn)的debug屬性為“true”,即允許調(diào)試,在這種情況下會(huì)影響網(wǎng)站的性能,所以在程序編譯完成交付使用之后應(yīng)將其設(shè)為“false”。
而且設(shè)置成true,遇到報(bào)錯(cuò),會(huì)在網(wǎng)頁上報(bào)出具體的錯(cuò)誤,不安全。
<authentication>節(jié)點(diǎn)
<authentication>節(jié)點(diǎn)控制用戶對(duì)網(wǎng)站、目錄或者單獨(dú)頁的訪問。
<authentication>節(jié)點(diǎn)設(shè)置asp.net身份驗(yàn)證模式,有四種身份驗(yàn)證模式,它們的值分別如下:Mode 說明1、Windows 使用Windows身份驗(yàn)證,適用于域用戶或者局域網(wǎng)用戶。2、Forms 使用表單驗(yàn)證,依靠網(wǎng)站開發(fā)人員進(jìn)行身份驗(yàn)證。3、Passport 使用微軟提供的身份驗(yàn)證服務(wù)進(jìn)行身份驗(yàn)證。4、None 不進(jìn)行任何身份驗(yàn)證。
<customErrors>節(jié)點(diǎn)
<customErrors>節(jié)點(diǎn)用于定義一些自定義錯(cuò)誤信息的信息。此節(jié)點(diǎn)有Mode和defaultRedirect兩個(gè)屬性,其中defaultRedirect屬性是一個(gè)可選屬性,表示應(yīng)用程序發(fā)生錯(cuò)誤時(shí)重定向到的默認(rèn)URL,如果沒有指定該屬性則顯示一般性錯(cuò)誤。Mode屬性是一個(gè)必選屬性,它有三個(gè)可能值,它們所代表的意義分別如下:
Mode 說明1、On 表示在本地和遠(yuǎn)程用戶都會(huì)看到自定義錯(cuò)誤信息。2、Off 禁用自定義錯(cuò)誤信息,本地和遠(yuǎn)程用戶都會(huì)看到詳細(xì)的錯(cuò)誤信息。3、RemoteOnly 表示本地用戶將看到詳細(xì)錯(cuò)誤信息,而遠(yuǎn)程用戶將會(huì)看到自定義錯(cuò)誤信息。
這里有必要說明一下本地用戶和遠(yuǎn)程用戶的概念。當(dāng)我們?cè)L問asp.net應(yīng)用程時(shí)所使用的機(jī)器和發(fā)布asp.net應(yīng)用程序所使用的機(jī)器為同一臺(tái)機(jī)器時(shí)成為本地用戶,反之則稱之為遠(yuǎn)程用戶。在開發(fā)調(diào)試階段為了便于查找錯(cuò)誤Mode屬性建議設(shè)置為Off,而在部署階段應(yīng)將Mode屬性設(shè)置為On或者RemoteOnly,以避免這些詳細(xì)的錯(cuò)誤信息暴露了程序代碼細(xì)節(jié)從而引來黑客的入侵。
<error>子節(jié)點(diǎn)
在<customErrors>節(jié)點(diǎn)下還包含有<error>子節(jié)點(diǎn),這個(gè)節(jié)點(diǎn)主要是根據(jù)服務(wù)器的HTTP錯(cuò)誤狀態(tài)代碼而重定向到我們自定義的錯(cuò)誤頁面,注意要使<error>子節(jié)點(diǎn)下的配置生效,必須將<customErrors>節(jié)點(diǎn)節(jié)點(diǎn)的Mode屬性設(shè)置為“On”。下面是一個(gè)例子:
<customErrors mode="On" defaultRedirect="GenericErrorPage.htm"> <error statusCode="403" redirect="403.htm" /> <error statusCode="404" redirect="404.htm" /> </customErrors>
在上面的配置中如果用戶訪問的頁面不存在就會(huì)跳轉(zhuǎn)到404.htm頁面,如果用戶沒有權(quán)限訪問請(qǐng)求的頁面則會(huì)跳轉(zhuǎn)到403.htm頁面,403.htm和404.htm頁面都是我們自己添加的頁面,我們可以在頁面中給出友好的錯(cuò)誤提示。
<httpHandlers>節(jié)點(diǎn)
<httpHandlers>節(jié)點(diǎn)用于根據(jù)用戶請(qǐng)求的URL和HTTP謂詞將用戶的請(qǐng)求交給相應(yīng)的處理程序。可以在配置級(jí)別的任何層次配置此節(jié)點(diǎn),也就是說可以針對(duì)某個(gè)特定目錄下指定的特殊文件進(jìn)行特殊處理。
下面是與machine.config文件同一目錄下的web.config文件中的<httpHandlers>節(jié)點(diǎn)配置:

<httpHandlers> <add path="eurl.axd" verb="*" type="System.Web.HttpNotFoundHandler" validate="True" /> <add path="trace.axd" verb="*" type="System.Web.Handlers.TraceHandler" validate="True" /> <add path="WebResource.axd" verb="GET" type="System.Web.Handlers.AssemblyResourceLoader" validate="True" /> <add verb="*" path="*_AppService.axd" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="False" /> <add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="False"/> <add path="*.axd" verb="*" type="System.Web.HttpNotFoundHandler" validate="True" /> <add path="*.aspx" verb="*" type="System.Web.UI.PageHandlerFactory" validate="True" /> <add path="*.ashx" verb="*" type="System.Web.UI.SimpleHandlerFactory" validate="True" /> <add path="*.asmx" verb="*" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="False" /> <add path="*.rem" verb="*" type="System.Runtime.Remoting.Channels.Http.HttPRemotingHandlerFactory, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" validate="False" /> <add path="*.soap" verb="*" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" validate="False" /> <add path="*.asax" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" /> <add path="*.ascx" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" /> <add path="*.master" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" /> <add path="*.skin" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" /> <add path="*.browser" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" /> <add path="*.sitemap" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" /> <add path="*.dll.config" verb="GET,HEAD" type="System.Web.StaticFileHandler" validate="True" /> <add path="*.exe.config" verb="GET,HEAD" type="System.Web.StaticFileHandler" validate="True" /> <add path="*.config" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" /> <add path="*.cs" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" /> <add path="*.csproj" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" /> <add path="*.vb" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" /> <add path="*.vbproj" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" /> <add path="*.webinfo" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" /> <add path="*.licx" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" /> <add path="*.resx" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" /> <add path="*.resources" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" /> <add path="*.mdb" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" /> <add path="*.vjsproj" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" /> <add path="*.java" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" /> <add path="*.jsl" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" /> <add path="*.ldb" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" /> <add path="*.ad" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" /> <add path="*.dd" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" /> <add path="*.ldd" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" /> <add path="*.sd" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" /> <add path="*.cd" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" /> <add path="*.adprototype" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" /> <add path="*.lddprototype" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" /> <add path="*.sdm" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" /> <add path="*.sdmDocument" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" /> <add path="*.mdf" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" /> <add path="*.ldf" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" /> <add path="*.exclude" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" /> <add path="*.refresh" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" /> <add path="*.svc" verb=
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注