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 |