Web.config详解
Web.config常用配置说明

web.config文件是一个XML文件,它的根结点是<configuration>,在<configuration>节点下的常见子节点有:<configSections>、<appSettings>、<connectionStrings>和<system.web>。
其中<appSettings>节点主要用于配置一些网站的应用配置信息,而<connectionStrings>节点主要用于配置网站的数据库连接字符串信息。
<system.web>节点主要是网站运行时的一些配置,它的常见节点有如下:Web.config常用配置<appSettings>节点<appSettings>节点主要用来存储应用程序的一些配置信息,系统常用的一些全局变量,如上传文件的保存路径等。
<appSettings><!--允许上传的图片格式类型--><add key="ImageType" value=".jpg;.bmp;.gif;.png;.jpeg"/><!--允许上传的文件类型--><add key="FileType" value=".jpg;.bmp;.gif;.png;.jpeg;.pdf;.zip;.rar;.xls;.doc"/></appSettings>对于<appSettings>节点中的值可以按照key来进行访问,以下就是一个读取key值为“FileType”节点值的例子:string fileType=ConfigurationManager.AppSettings["FileType "];<authentication>节点设置身份验证模式,有四种身份验证模式,它们的值分别如下:Mode 说明Windows 使用Windows身份验证,适用于域用户或者局域网用户。
net中web.config一个配置文件解决方法(其他配置文件引入方式)

net中web.config⼀个配置⽂件解决⽅法(其他配置⽂件引⼊⽅式)近期⼀个项⽬需要写许多的配置项,发现在单个web.config⾥⾯写的话会很乱也难于查找所以搜了⼀下解决了,记录下来⼀、 webconfig提供了引⼊其他config的⽅式<connectionStrings configSource="Configs\database.config" />这个是连接字符串的配置你可以在database。
config⾥⾯写很多链接字符串以备⾃⼰调⽤database。
config⾥⾯的内容如下:<?xml version="1.0" encoding="utf-8"?><connectionStrings><add name="SDbContext" connectionString="Server=.;Initial Catalog=Self;User ID=sa;Password=password" providerName="System.Data.SqlClient"/> </connectionStrings><appSettings configSource="Configs\system.config" />这个是键值对的⽅式存放代码如下:<?xml version="1.0" encoding="utf-8"?><appSettings><!-- ================== 1:开发系统相关配置 ================== --><!-- 登陆提供者模式:Session、Cookie--><add key="LoginProvider" value="Cookie"/><!-- 启⽤系统⽇志--><add key="IsLog" value="true"/><!-- 数据库超时间--><add key="CommandTimeout" value="180"/><!--启⽤IP过滤 --><add key="IsIPFilter" value="false"/><!-- ================== 2:系统软件参数配置 ================== --><!-- 联系我们 --><add key="Contact" value="TE Software(Mobility)"/><!-- 软件名称 --><add key="SoftName" value="Sub Self"/><!-- 软件版本 --><add key="Version" value="1.0"/><!-- 设置就应⽤路径 --><add key="AppName" value=""/><!-- 设置就应⽤路径 --><add key="SqlGetBomList" value=""/></appSettings>以上两个是不需要特殊的配置的,放到configuration⾥⾯ configSections的下⾯这样就可以⼆、下⾯介绍⾃定义配置节<configSections><section name="users" type="ValueSectionHandler"/></configSections><users configSource="users.config"></users>注意configsections⾥⾯的⼀条,是声明这是以什么组织⽅式users.config ⾥⾯的内容如下:<users><add key="beijing" value="123"></add><add key="tianjin" value="123"></add></users>获取配置的⽅式:NameValueCollection users = System.Configuration.ConfigurationManager.GetSection("users") as NameValueCollection;// Response.Write(users.Keys[0]+"</br>"+users.Keys[1]);users.Get("beijing"); 三、复杂类型:复杂类型的声明就不同了<configSections><section name="roles" type="EBuy.Chapter3.NTier.WebUI.RolesConfig, EBuy.Chapter3.NTier.WebUI"/></configSections><roles configSource="roles.config"></roles>内容如下<roles><add username="beijing" password="123"></add><add username="tianjin" password="123"></add></roles>获取⽅式:using System;using System.Collections.Generic;using System.Linq;using System.Web;namespace EBuy.Chapter3.NTier.WebUI{public class RolesConfig : System.Configuration.IConfigurationSectionHandler{public object Create(object parent, object configContext, System.Xml.XmlNode section){return section;}}}XmlNode roles= System.Configuration.ConfigurationManager.GetSection("roles") as XmlNode;Response.Write(roles.ChildNodes [0].Attributes["username"].InnerText);还可以配置为实体using System;using System.Collections.Generic;using System.Linq;using System.Web;namespace EBuy.Chapter3.NTier.WebUI{public class RolesConfig : System.Configuration.IConfigurationSectionHandler{public object Create(object parent, object configContext, System.Xml.XmlNode section){var list=new List<Role>();for(int i=0;i<section.ChildNodes.Count;i++){list.Add(new Role (){Username =section.ChildNodes[i].Attributes["username"].InnerText ,Password =section.ChildNodes[i].Attributes["password"].InnerText });}return list;}}public class Role{public string Username { get; set; }public string Password{get;set;}}}var roles = System.Configuration.ConfigurationManager.GetSection("roles") as List<EBuy.Chapter3.NTier.WebUI.Role >; Response.Write(roles.First ().Username);。
web.config文件 规则

web.config文件规则
web.config文件是用于配置网站的XML格式文件。
它包含了许多不同类型的规则,用于配置网站的行为和功能。
以下是一些常见的规则:
1. 认证和授权规则, web.config文件可以包含认证和授权规则,用于定义哪些用户可以访问网站的特定部分,以及他们可以执行的操作。
这些规则可以基于角色、用户或其他条件进行配置。
2. URL重写规则,通过使用URL重写规则,web.config文件可以配置网站的URL结构,将复杂的URL重写为更简洁、易于理解的形式。
这对于搜索引擎优化和用户友好性非常重要。
3. 错误处理规则, web.config文件可以定义网站遇到错误时的行为。
例如,可以配置自定义的错误页面,或者将特定类型的错误记录到日志中。
4. 缓存规则,通过web.config文件,可以配置网站的缓存策略,包括哪些内容需要被缓存、缓存的过期时间等。
5. 会话状态规则, web.config文件可以配置网站的会话状态
管理方式,包括会话超时时间、会话数据的存储方式等。
6. 安全规则, web.config文件可以包含安全规则,用于配置
网站的安全性,例如设置HTTPS连接、防止跨站点请求伪造(CSRF)等。
7. MIME类型规则, web.config文件可以定义网站支持的
MIME类型,以便正确处理各种类型的文件。
总的来说,web.config文件是网站的核心配置文件,
其中包含了各种规则,用于定义网站的行为、安全性、性能和功能。
通过合理配置web.config文件中的规则,可以使网站更加安全、可
靠且高效。
Web.Config中数据库连接字符串解析

Web.Config中数据库连接字符串解析在中,穿过Web.config,您可为使用<appSettings> 本忘,在这个标志中,你可用 <add ... /> 本忘界说0到少个设置。
原文中人们重要议论了怎样使用web.config来设置装备摆设一个web运用程序中的数据库连交。
一.基础利用web.config文件是尺度的xml文件,人们可以使用它来为一台呆板下的每一个web使用程序或某个应用程序或一个目录下的版面来举行设置,固然,它也可认为一个独自的web页里入止设置。
SqlServer连接配放:<add name="LocalSqlServer" connectionString="Data Source=./SQLExpress;min pool size=5;max pool size=512;IntegratedSecurity=True;AttachDBFilename=|DataDirectory|TimeTracker.mdf;UserInstance=true" /><add name="MDM" connectionString="Data Source=10.21.17.17,22/ND0;Initial Catalog=MDM_V2;Persist Security Info=True;UserID=sa;Password=Lenovo!123" providerName="System.Data.SqlClient";min pool size=5;max pool size=512;/>SqlConnectionStringBuilder真例化时,要用到connectionString,如:SqlConnectionStringBuild builder = newSqlConnectionStringBuild(connectionString)。
2021年WEB CONFIG安全相关配置WEB安全电脑资料

Web config安全相关配置WEB安全电脑资料web.config 位于根目录1、authentication节点基于窗体(Forms)的身份验证配置站点,当没有登陆的用户访问需要身份验证的网页,网页自动跳转到登陆网页。
其中元素loginUrl 表示登陆网页的名称,name表示Cookie名称2、authorization 节点allow 向授权规则映射添加一个规则,该规则允许对资源进行访问。
deny 向授权规则映射添加一条拒绝对资源的访问的授权规则。
users="*" 是指任何用户 users="?" 是指经身份验证的用户注意: 运行时,授权模块从最本地的配置文件开始,循环访问allow 和 deny 元素,直到它找到适合特定用户帐户的第一个访问规则。
然后,该授权模块根据找到的第一个访问规则是 allow 还是deny 规则来允许或拒绝对 URL 资源的访问。
默认的授权规则为。
因此,默认情况下允许访问,除非另外配置。
如果在根目录下的web.config配置太繁琐,可以配置到相应目录下,例如User目录下的web.config文件3、customErrors 节点mode="On|Off|RemoteOnly">defaultRedirect 可选的属性。
指定出错时将浏览器定向到的默认 URL。
如果未指定该属性,则显示一般性错误。
Mode 必选的属性。
指定是启用或禁用自定义错误,还是仅向远程客户端显示自定义错误。
此属性可以为下列值之一。
值说明On 指定启用自定义错误。
如果未指定 defaultRedirect,用户将看到一般性错误。
Off 指定禁用自定义错误。
这允许显示标准的详细错误。
RemoteOnly 指定仅向远程客户端显示自定义错误并且向本地主机显示 错误。
这是默认值。
默认值为 RemoteOnly。
error 可选的元素。
webconfig 参数

webconfig 参数WebConfig 参数是指在Web应用程序的配置文件中使用的一组参数,它们用于配置和调整Web应用程序的行为和功能。
WebConfig 参数的正确配置对于应用程序的性能、安全性和可靠性都起着重要的作用。
本文将介绍一些常见的WebConfig 参数,并解释它们的作用和用法。
1. `<compilation>` 参数:这个参数用于配置应用程序的编译方式。
其中的 `debug` 属性控制是否启用调试模式,`batch` 属性控制是否启用批处理编译,`targetFramework` 属性指定应用程序的目标框架版本。
正确配置这些参数可以提高应用程序的性能和安全性。
2. `<httpRuntime>` 参数:这个参数用于配置应用程序的运行时行为。
其中的 `maxRequestLength` 属性指定了请求的最大长度,`executionTimeout` 属性指定了请求的最大执行时间。
合理地配置这些参数可以避免应用程序受到恶意请求的攻击,同时也可以提高应用程序的响应速度。
3. `<sessionState>` 参数:这个参数用于配置应用程序的会话状态管理方式。
其中的 `mode` 属性指定了会话状态的模式,可以是`InProc`、`StateServer` 或 `SQLServer`。
`timeout` 属性指定了会话的超时时间。
正确配置这些参数可以确保应用程序的会话状态管理安全可靠。
4. `<authentication>` 参数:这个参数用于配置应用程序的身份验证方式。
其中的 `mode` 属性指定了身份验证的模式,可以是`Windows`、`Forms` 或 `None`。
`Forms` 模式下,还可以配置`loginUrl` 属性指定登录页的 URL。
正确配置这些参数可以保护应用程序的安全性,防止未授权的访问。
5. `<authorization>` 参数:这个参数用于配置应用程序的授权方式。
web.config文件中链接字符串的定义和使用方式

web.config文件中链接字符串的定义和使用方式在 Web 应用程序中,`web.config` 文件用于存储应用程序的配置信息,包括数据库连接字符串。
连接字符串用于指定应用程序如何连接到数据库。
下面是在`web.config` 文件中定义和使用连接字符串的方式:1. 打开项目中的`web.config` 文件。
2. 在`<configuration>` 标签下添加`<connectionStrings>` 元素,用于存储连接字符串。
如果该元素已经存在,则可以直接在其中添加连接字符串。
```xml<configuration><connectionStrings><!--连接字符串的定义--><add name="MyConnectionString" connectionString="Data Source=ServerName;Initial Catalog=DatabaseName;User ID=UserName;Password=Password" providerName="System.Data.SqlClient" /></connectionStrings>...</configuration>```上述示例中,`name` 属性是连接字符串的名称,`connectionString` 属性是实际的连接字符串,`providerName` 属性是用于指定数据库提供程序的名称(例如,SQL Server 的提供程序名称为"System.Data.SqlClient")。
3. 在应用程序中使用连接字符串:-在代码中,可以使用`System.Configuration.ConfigurationManager.ConnectionStrings` 对象来访问连接字符串:```csharpstring connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["MyConnectionString"].Connecti onString;```这将返回名为"MyConnectionString" 的连接字符串的实际值。
Asp.net中web.config配置文件详解(二)

中web.config配置⽂件详解(⼆)摘⾃近⽇正在看,看到Web.config有很不清楚之处,特意从⽹络、MSDN搜集、归纳和整理,供⼤家分享。
在的web.config中,可以⽤两种⽅式来写连接字符串的配置。
<configuration><appSettings><add key="connstr1" value="Data Source=.;Initial Catalog=DBName;Integrated Security=true"/><add key="connstr2" value="........."></appSettings><connectionStrings><add name="connstr3" connectionString="........" /><add name="connstr4" connectionString="......" providerName="System.Data.Sqlclient"</connectionStrings></configuration>如上代码所⽰:两种⽅式为appSettings和connectionStringsappSettings:①它是1.1的时候⽤的,在vs2003中⽤的②⾥⾯存的相当于键值对的形式,key和value。
不仅仅可以存连接字符串,还可以存储⼀些配置项。
其中value中包括数据库服务器地址、⽤户名和密码、数据库名称等信息。
③在appSettings中,不能使⽤ProviderName="System.Data......."(不过如果你要⽤也可以,只要写在value⾥⾯就可以了,当成值传递过去)④在后台取值⽅式⽤代码:string conn=System.Configuration.ConfigurationManager.AppSettings["connstr";]connectionStrings:①它是2.0中新增的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、认识Web.config文件Web.config 文件是一个XML文本文件,它用来储存 Web 应用程序的配置信息(如最常用的设置 Web 应用程序的身份验证方式),它可以出现在应用程序的每一个目录中。
当你通过.NET新建一个Web应用程序后,默认情况下会在根目录自动创建一个默认的Web.config文件,包括默认的配置设置,所有的子目录都继承它的配置设置。
如果你想修改子目录的配置设置,你可以在该子目录下新建一个Web.config文件。
它可以提供除从父目录继承的配置信息以外的配置信息,也可以重写或修改父目录中定义的设置。
(一).Web.Config是以XML文件规范存储,配置文件分为以下格式1.配置节处理程序声明特点:位于配置文件的顶部,包含在<configSections>标志中。
2.特定应用程序配置特点: 位于<appSetting>中。
可以定义应用程序的全局常量设置等信息.3.配置节设置特点: 位于<system.Web>节中,控制运行时的行为.4.配置节组特点: 用<sectionGroup>标记,可以自定义分组,可以放到<configSections>内部或其它<sectionGroup>标记的内部.(二).配置节的每一节1.<configuration>节根元素,其它节都是在它的内部.2.<appSetting>节此节用于定义应用程序设置项。
对一些不确定设置,还可以让用户根据自己实际情况自己设置用法:I.<appSettings><add key="Conntction" value="server=192.168.85.66;userid=sa;password=;database=Info;"/><appSettings>定义了一个连接字符串常量,并且在实际应用时可以修改连接字符串,不用修改程式代码. II.<appSettings><add key="ErrPage" value="Error.aspx"/><appSettings>定义了一个错误重定向页面.3.<compilation>节格式:<compilationdefaultLanguage="c#"debug="true"/>I.default language: 定义后台代码语言,可以选择C#和两种语言.IIdebug : 为true时,启动aspx调试;为false不启动aspx调试,因而可以提高应用程序运行时的性能。
一般程序员在开发时设置为true,交给客户时设置为false.4.<customErrors> 节格式:<customErrorsmode="RemoteOnly"defaultRedirect="error.aspx"<error statusCode="440" redirect="err440page.aspx"/><error statusCode="500" redirect="err500Page.aspx"/>/>I.mode : 具有On,Off,RemoteOnly 3种状态。
On表示始终显示自定义的信息; Off表示始终显示详细的错误信息; RemoteOnly表示只对不在本地Web服务器上运行的用户显示自定义信息.II.defaultRedirect: 用于出现错误时重定向的URL地址. 是可选的III.statusCode: 指明错误状态码,表明一种特定的出错状态.IV. redirect:错误重定向的URL.5.<globalization>节格式:<globalizationrequestEncoding="utf-8"responseEncoding="utf-8"fileEncoding="utf-8"/>I.requestEncoding: 它用来检查每一个发来请求的编码.II.responseEncoding: 用于检查发回的响应内容编码.III.fileEncoding: 用于检查aspx,asax等文件解析的默认编码.6.<sessionState> 节格式:<sessionStatemode="InProc"stateConnectionString="tcpip=127.0.0.1:42424"sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"cookieless="false"timeout="20"/>I.mode: 分为off,Inproc,StateServer,SqlServer几种状态这里有详细介绍此属性: /chengking/archive/2005/10/27/518079.aspxII. stateConnectionString :指定应用程序存储远程会话状态的服务器名,默认为本机III.sqlConnectionString: 当用会话状态数据库时,在这里设置连接字符串IV. Cookieless: 设置为true时,表示不使用cookie会话状态来标识客户;否则,相反. V. TimeOut: 用来定义会话状态存储的时间,超过期限,将自动终止会话.7.<authentication> 节格式:<authentication mode="Forms"><forms name=".ASPXUSERDEMO" loginUrl="Login.aspx" protection="All" timeout="30"/></authentication><authorization><deny users="?"/></authorization>I.Windows: 使用IIS验证方式II.Forms: 使用基于窗体的验证方式III.Passport: 采用Passport cookie验证模式IV.None: 不采用任何验证方式里面内嵌Forms节点的属性涵义:: 指定完成身份验证的Http cookie的名称.II.LoginUrl: 如果未通过验证或超时后重定向的页面URL,一般为登录页面,让用户重新登录III.Protection: 指定cookie数据的保护方式.可设置为: All None Encryption Validation四种保护方式a. All表示加密数据,并进行有效性验证两种方式b. None表示不保护Cookie.c. Encryption表示对Cookie内容进行加密d. validation表示对Cookie内容进行有效性验证IV. TimeOut: 指定Cookie的失效时间. 超时后要重新登录.在运行时对Web.config文件的修改不需要重启服务就可以生效(注:<processModel> 节例外)。
当然Web.config文件是可以扩展的。
你可以自定义新配置参数并编写配置节处理程序以对它们进行处理。
web.config 配置文件(默认的配置设置)以下所有的代码都应该位于<configuration><system.web>和</system.web></configuration>之间,出于学习的目的下面的示例都省略了这段XML标记。
1、<authentication> 节作用:配置 身份验证支持(为Windows、Forms、PassPort、None四种)。
该元素只能在计算机、站点或应用程序级别声明。
< authentication> 元素必需与<authorization> 节配合使用。
示例:以下示例为基于窗体(Forms)的身份验证配置站点,当没有登陆的用户访问需要身份验证的网页,网页自动跳转到登陆网页。
<authentication mode="Forms" ><forms loginUrl="logon.aspx" name=".FormsAuthCookie"/></authentication>其中元素loginUrl表示登陆网页的名称,name表示Cookie名称。
2、<authorization> 节作用:控制对URL 资源的客户端访问(如允许匿名用户访问)。
此元素可以在任何级别(计算机、站点、应用程序、子目录或页)上声明。
必需与<authentication> 节配合使用。
示例:以下示例禁止匿名用户的访问<authorization><deny users="?"/></authorization>注:你可以使用来获取已经过验证的当前的用户名;可以使用web.Security.FormsAuthentication.RedirectFromLoginPage方法将已验证的用户重定向到用户刚才请求的页面.具体的3、<compilation>节作用:配置 使用的所有编译设置。
默认的debug属性为“True”.在程序编译完成交付使用之后应将其设为False(Web.config文件中有详细说明,此处省略示例)4、<customErrors>作用:为 应用程序提供有关自定义错误信息的信息。
它不适用于XML Web services 中发生的错误。
示例:当发生错误时,将网页跳转到自定义的错误页面。
<customErrors defaultRedirect="ErrorPage.aspx" mode="RemoteOnly"></customErrors>其中元素defaultRedirect表示自定义的错误网页的名称。