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身份验证,适用于域用户或者局域网用户。
配置webconfig
配置webconfig记录下webconfig的配置(复制很久的笔记):1、配置Session在url传递在web.config中的 <system.web> 节点下添加,⼿动修改session的相关设置<sessionState timeout="5" cookieless="true"> </sessionState>2、配置上传⽂件⼤于4M,⾥⾯是字节数,⽐如下⾯10M是1024*1024*10<system.web><httpRuntime targetFramework="4.5" maxRequestLength="10485760"/></system.web>3、⽐如上传1g的内容。
请求的筛选模块是被直接拒绝,不会到后台指定的页⾯的,跟上⾯的界⾯配置要相同才⾏<configuration><system.webServer><security><requestFiltering><requestLimits maxAllowedContentLength="1073741824"></requestLimits></requestFiltering></security></system.webServer></configuration>4、⾃定义⼀般处理程序类及配置①新建⼀个类,继承IHttpHandler,实现⾥⾯的ProcessRequest⽅法与IsReusable属性。
属性中如果get{return false;}表⽰每次浏览器的请求都会新创建这个⼀般处理程序的类的对象,为true每次浏览器请求都是重⽤第⼀次创建的类的对象②⽐如⽤户需要xxx.hh这样⼦在浏览器中访问,我们新建的这个类继承IhttpHandler接⼝之后实现⾥⾯的代码专门接管处理这样的需求。
Web.config详解
一、认识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调试,因而可以提高应用程序运行时的性能。
webconfig权限控制(转)
webconfig权限控制(转)今天偶然看了一篇关于Forms应用的文章收益颇多,写出来给大家分享。
说起对网站权限,记得以前做法是每个页面都进行判断,对webconfig 的使用少之又少今天说说webconfig 对网站权限的判断。
户文件夹(我们暂定user 文件夹):只有用户登录以后才能访问。
否则该访客只能访问user文件夹的登录页面(user_login.aspx)管理员文件夹(暂定admin文件夹):管理员文件夹不让任何人服务,当用户登录以后只能访问管理员登陆页(admin_login.aspx),管理员登陆后才能访问全部页面。
根目录:根目录可以让任何人访问。
目录结构如下:第一步:根目录下config 代码:<authentication mode="Forms"><forms name="UserCookies"loginUrl="Default.aspx"></forms></authentication> <authorization><allow users="*"/> </authorization> 第二部:Global.asax 头部添加<%@ Import Namespace="System.Security.Principal" %> void Application_AuthenticateRequest(object sender, EventArgs e) { if (er != null){ //如果用户通过验证,则该项不为nullif (er.Identity.IsAuthenticated){ if (er.Identity is FormsIdentity){ FormsIdentity id = (FormsIdentity)er.Identity; FormsAuthenticationTicket ticket = id.Ticket;string userData = erData;//取出角色数据string[] roles = userData.Split(',');er = new GenericPrincipal(id, roles);//重新分配角色} } } } 第三部:admin文件夹config 文件<?xml version="1.0" encoding="utf-8"?><configuration><appSettings/&g t;<connectionStrings/><locationpath="admin_login.aspx"> <system.web><authorization> <allow roles="user"/></authorization></system.web></location><system.web><authorization> <allow roles="admin"/><deny users="*"/></authorization></system.web></configuration& gt; admin_login.aspx cs 代码如下:protected voidButton1_Click(object sender, EventArgs e) { if (tbUserName.Text == "xiaomiao") { //生成验证票据,其中包括用户名、生效时间、过期时间、是否永久保存和用户数据等。
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 可选的元素。
apache部署web访问权限配置
apache部署web访问权限配置一、修改http.conf配置文件第一步:找到apache的配置文件httpd.conf(文件在conf目录下)第二步:你首先必须得让服务器支持mod_rewrite,如果你使用的是虚拟主机,请事先询问你的主机提供商。
打开httpd.conf,找到#LoadModule rewrite_module modules/mod_rewrite.so把#去掉找到AllowOverride None 改成AllowOverride All,如果禁止所有访问,Options Indexes FollowSymLinks 改为Option None。
注意:文中只有一个< Directory /> 即可,去掉下面这个#<Directory /># Options FollowSymLinks# AllowOverride None# Order deny,allow# Deny from all# Satisfy all#</Directory>添加下面这个,如已经有则修改即可(即需要权限控制的目录),如:<Directory "D:/soft/Apache/htdocs/portal/valid">Options Indexes FollowSymLinks Includes IncludesNOEXEC#Order allow,deny#Allow from allAllowOverride all</Directory>二、添加权限控制文件(.htaccess)编写添加全名为.htaccess 文件,linux下可直接创建,windows下不能直接创建可另存为;文件存放在需要权限控制的目录下。
文件内容如下几种配置方式:1. 需要用户输入用户名、密码可访问AuthUserFile D:/soft/Apache/bin/.passwdAuthType BasicAuthName "Database Security Zone"ErrorDocument 403 D:/soft/Apache/htdocs/portal/err_403.htmlrequire valid-userAuthUserFile:为密码文件存放位置,绝对路径AuthType:认证类型(一般)AuthName:认证名称,引号内为一般注释备注说明ErrorDocument:错误文件指向,绝对路径require valid-user:请求时,认证方式:用户认证(valid-user)或组认证(valid-group). 2. 禁止访问某个类库目录创建Directory块,比如禁止访问某个类库目录,可以这样实现<Directory /var/www//inc>Order Deny,AllowDeny from all</Directory>上述代码实现了禁止所有用户访问下inc目录的功能。
ASP.NET权限设置
权限设置利用web.config文件对整个程序集进行配置在Web程序里,每个根目录都有一个web.config。
但一般的程序只有一个web.config配置文件。
有多个文件夹里,子目录的web.config继承了母目录中的web.config。
如果子母有冲突的话,则以子目录的web.config的规则为准。
一个网站不允许两种访问方式。
;//用于获取当前用户名Form的验证方式不理会Windows用户,全取决于你是否登录,写入Cookie。
using System.Web.Security;FormAuthentication.RedirectFormLoginPage(string userName,bool createPersistentCookie)//此方法将经过身份验证的用户重定向回最初请求的URL或默认的URL。
createPersistentCookie为true时则会创建一个Cookie。
在Windows系统里C:\Documents and Settings\Administrator\Cookies路径可以找到。
Forms验证配置说明loginUrl="login.aspx" [string] 指向登录页面。
defaultUrl="default.aspx" [string] 指定用户通过验证之后默认重定向的URL地址。
protection="All" [All | None |Encryption |Validation] 针对Cookie信息进行加密设置。
timeout="30" [in Minutes][number] 指定Cookie的有效期,以分钟为单位。
path="/" [string] 为由应用程序发出的Cookie指定路径。
requireSSL="false" [true | false] 指定是否使用安全套阶层(SSL)连接来传输身份验证Cookie。
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中新增的。
Web.config配置文件详解(新手必看)
Web.co nfig配置文件详解(新手必看)花了点时间整理了一下A SP.NE T Web.conf ig配置文件的基本使用方法。
很适合新手参看,由于W eb.co nfig在使用很灵活,可以自定义一些节点。
所以这里只介绍一些比较常用的节点。
<?xml vers ion="1.0"?><!--注意:除了手动编辑此文件以外,您还可以使用Web 管理工具来配置应用程序的设置。
可以使用V isual Stud io 中的“网站”->“As配置”选项。
设置和注释的完整列表在machi ne.co nfig.comme nts 中,该文件通常位于"Windo ws"Mi croso ft.Ne t"Fra mewor k"v2.x"Con fig 中。
--><!--Webc onfig文件是一个xml文件,conf igura tion是xml文件的根节点,由于xml 文件的根节点只能有一个,所以W ebcon fig的所有配置都是在这个节点内进行的。
--><conf igura tion><!--指定配置节和命名空间声明。
clea r:移除对继承的节和节组的所有引用,只允许由当前secti on 和secti onGro up 元素添加的节和节组。
re move:移除对继承的节和节组的引用。
sec tion:定义配置节处理程序与配置元素之间的关联。
secti onGro up:定义配置节处理程序与配置节之间的关联。
--><c onfig Secti ons><sect ionGr oup n ame="syste m.web.exte nsion s"ty pe="S ystem.Web.Confi gurat ion.S ystem WebEx tensi onsSe ction Group,Sys tem.W eb.Ex tensi ons,Versi on=1.0.61025.0, Cult ure=n eutra l,Pu blicK eyTok en=31bf3856ad364e35"><secti onGro up na me="s cript ing"type="Syst em.We b.Con figur ation.Scri pting Secti onGro up, S ystem.Web.Exten sions,Ver sion=1.0.61025.0, Cu lture=neut ral,Publi cKeyT oken=31bf3856ad364e35"> <s ectio n nam e="sc riptR esour ceHan dler"type="Sys tem.W eb.Co nfigu ratio n.Scr iptin gScri ptRes ource Handl erSec tion,Syst em.We b.Ext ensio ns, V ersio n=1.0.61025.0,Cultu re=ne utral,Pub licKe yToke n=31b f3856ad364e35"requi rePer missi on="f alse"allo wDefi nitio n="Ma chine ToApp licat ion"/></sect ionGr oup></sec tionG roup> <sec tionname="rewr iter"type="Int ellig encia.UrlR ewrit er.Co nfigu ratio n.Rew riter Confi gurat ionSe ction Handl er, I nt ell igenc ia.Ur lRewr iter" /></co nfigS ectio ns><!--ap pSett ings是应用程序设置,可以定义应用程序的全局常量设置等信息--><appS ettin gs><add key="1" v alue="1" /><add k ey="g ao" v alue="weip eng"/></app Setti ngs><!--连接字符串设置--><co nnect ionSt rings> <ad d nam e="Co nnStr ing"conne ction Strin g="Da ta So urce=GAO;I nitia lCat alog=HBWXD ate;U ser I D=sa;passw ord=s a"></add><addname="111" conn ectio nStri ng="11111" /></co nnect ionSt rings><!--指定应用子配置设置的资源,并锁定配置设置,以防止它们被子配置文件重写。
webConfig说明文档
Configuration:指定公共语言运行库和.NET Framework应用程序所使用的每个配置文件中均需要的根元素System.Web:指定配置文件中配置设置的根元素。
并且包含各种元素,这些元素配置在 Web应用程序的行为方式一、Configuration元素1)configSections:指定配置节和命名空间声明子元素:✧allowDefinition:指定可以在哪个配置文件中使用该节。
此特性的值是下列值:⏹Everywhere:允许在任何配置文件或目录中配置该节,如下所示(Machine.config,根Web.config,应用程序的Web.config,虚拟目录,应用程序中的物理子目录)⏹MachineToApplication:允许在下列文件之一中配置该节:(Machine.config,根Web.config,应用程序的Web.config)⏹MachineToWebRoot :允许在下列文件之一中配置该节:(Machine.config,根Web.config)⏹MachineOnly:只允许在Machine.config文件中配置该节✧allowExeDefinition:指定可以再哪个配置文件中使用该节,该特性可以是下列值:⏹MachineToApplication:允许在下列文件之一配置该节(Machine.config,应用程序配置)⏹MachineToRoamingUser⏹MachineToLocalUser⏹MachineOnly:只允许在Machine.config文件中配置该节✧allowLocation:指定是否可以在location元素内使用该节✧name:指定在该节的配置数据发生更改时是否应当重新启动应用程序✧restartOnExternalChanges:指定在该节的配置数据发生更改时是否应当重新启动应用程序✧type:必选特性。
指定用来执行如下操作的配置节处理程序类的名称:处理在name特性中指定的节或元素中的配置设置。
.net站的web.config配置说明
.Net站的web.config配置说明一、认识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.appSettingsadd key="Conntction" value="server=192.168.85.66;userid=sa;password=;database=Info;"/ appSettings定义了一个连接字符串常量,并且在实际应用时可以修改连接字符串,不用修改程式代码. II.appSettingsadd key="ErrPage" value="Error.aspx"/appSettings定义了一个错误重定向页面.pilation节格式:compilationdefaultLanguage="c#"debug="true"/I.default language: 定义后台代码语言,可以选择C#和两种语言.IIdebug : 为true时,启动aspx调试;为false不启动aspx调试,因而可以提高应用程序运行时的性能。
web.config详解(配置文件节点说明)
web.config详解(配置文件节点说明)Posted on 2009-02-15 20:50 Charles Chen阅读(625) 评论(0)编辑收藏所属分类: Web.config深入浅出, web.config文件是一个XML文件,它的根结点是<configuration>,在<configuration>节点下的常见子节点有:<configSections>、<appSettings>、<connectionStrings>和<system.web>。
其中<appSettings>节点主要用于配置一些网站的应用配置信息,而<connectionStrings>节点主要用于配置网站的数据库连接字符串信息。
<system.web>节点主要是网站运行时的一些配置,它的常见节点有如下:1.<appSettings>节点<appSettings>节点主要用来存储应用程序的一些配置信息2.<compilation>节点<compilation>节点配置 使用的所有编译设置。
默认的debug属性为“true”,即允许调试,在这种情况下会影响网站的性能,所以在程序编译完成交付使用之后应将其设为“false”。
3.<authentication>节点设置身份验证模式,有四种身份验证模式,它们的值分别如下:Mode 说明Windows 使用Windows身份验证,适用于域用户或者局域网用户。
Forms 使用表单验证,依靠网站开发人员进行身份验证。
Passport 使用微软提供的身份验证服务进行身份验证。
None 不进行任何身份验证。
4.<customErrors>节点<customErrors>节点用于定义一些自定义错误信息的信息。
《Web程序设计》课后习题附答案
第一章1.填空题(1).NET Framework 主要包括公共语言运行库 CLR 和类库。
(2) 网站在编译时,首先将语言代码编译成微软中间语言 MSIL 。
(3)一台 IIS Web 服务器 IP 地址为 210.78.60.19,网站端口号为 8000,则要访问虚拟目录 xxxy 中default.aspx 的URL 为http://210.78.60.19.8000/xxxy/default.aspx 。
(4)可以通过复制网站同步网站上的一个文件。
2.是非题(1)托管代码是以CLR 为基础运行的代码。
(√)(2)若某页面上包含动画内容,则该页面肯定是动态页面。
(×)(3)一个网站中可以同时包含静态页面和动态页面。
(√)(4) 4.5 页面是边解释边执行的。
(×)(5)在VSEW2012 中开发网站必须安装独立的IIS。
(×)(6)IIS EXPRESS 具有与IIS 类似的功能,但主要用于VSEW2012 中的页面。
(×) (7)IIS 中的网站与VSEW2012 中的网站是相同的概念。
(×)3.简答题(1)一个学校有多个分院,每个分院有各自的网站,如果提供一台 WEB 服务器,如何设置?每个分院设置各自的虚拟目录。
虚拟目录是服务器硬盘上通常不再主目录下的文件夹的一个好记名称(别名),使用别名可以发布多个文件夹下的内容以供所有用户访问,并能单独控制每个虚拟目录的读写权限。
(2)如何设置在访问网站时只需输入域名就可访问网页主页?将“i ndex.aspx”设置为默认文档,只要将其添加为默认文档即可,右击桌面“我的电脑”,选择“管理”项打开“计算机管理”窗口,选择“Internet 信息服务→网站→默认网站”并右击之,选择弹出菜单中的“属性”项,在打开的窗口中选择“文档”标签,单击“添加”将“index.aspx”添加进来,最后“应用→确定”即可(3)文件系统、本地 IIS、FTP 站点和远程站点的区别是什么?文件系统:就是发布到硬盘的文件本地 IIS:是发布到 IIS 根目录下的文件FTP 站点:是用过 ftp 上传到指定服务器的文件远程站点:就是可以发布到远程服务器的文件(4)说明什么是虚拟主机,Internet 上提的虚拟主机是如何运行的?所谓虚拟主机,就是把一台运行在互联网上的服务器划分成多个“虚拟”的服务器,每一个虚拟主机都具有独立的域名和完整的 Internet 服务器(支持 WWW、FTP、E-mail 等)功能。
对Web.config配置文件的常见操作-洞幺人生-博客园
对Web.config配置⽂件的常见操作-洞⼳⼈⽣-博客园对Web.config配置⽂件的常见操作对于配置⽂件的常见操作包括:l 读取l 修改l 将web.config中的配置节放在单独的⽂件中l 对某⼀节进⾏加密l 添加定制的节操作web配置⽂件(包括machine.config和web.config等)的命名空间是:System.Web.Configuration。
主要应⽤的类是:WebConfigurationManager。
下⾯看看WebConfigurationManager类的成员。
(可以利⽤MSDN来查看,我下⾯是利⽤Lutz Roeder的Reflector)图 1 WebConfigurationManager类成员3.2.1 读取图 2 WebConfigurationManager类中⽤于读取的属性和⽅法3.2.1.1 读取appSettings节和connectionStrings节在WebConfigurationManager类中,我们⾸先注意到其两个属性AppSettings和ConnectionStrings。
这两个属性就是⽤于操作我们前⾯看到的web.config⽂件中的两节appSettings和connectionStrings。
下⾯演⽰使⽤⽅法。
演⽰操作appSettings 节的代码:using System.Web.Configuration;....string message;message = WebConfigurationManager.AppSettings["message"];...演⽰操作connectionStrings节的代码:using System.Web.Configuration;....string connectionString =WebConfigurationManager.ConnectionStrings["pubs"].ConnectionString;...3.2.1.2 读取其它节在.NET中读取其它节要⿇烦⼀些。
Web.config配置文件详解
花了点时间整理了一下 Web.config配置文件的基本使用方法。
很适合新手参看,由于Web.config在使用很灵活,可以自定义一些节点。
所以这里只介绍一些比较常用的节点。
<?xml version="1.0"?><!--注意: 除了手动编辑此文件以外,您还可以使用 Web 管理工具来配置应用程序的设置。
可以使用 Visual Studio 中的“网站”->“ 配置”选项。
设置和注释的完整列表在 ments 中,该文件通常位于"Windows""Framework"v2.x"Config 中。
--><!--Webconfig文件是一个xml文件,configuration是xml文件的根节点,由于xml文件的根节点只能有一个,所以Webconfig的所有配置都是在这个节点内进行的。
--><configuration><!--指定配置节和命名空间声明。
clear:移除对继承的节和节组的所有引用,只允许由当前 section 和 sectionGroup 元素添加的节和节组。
remove:移除对继承的节和节组的引用。
section:定义配置节处理程序与配置元素之间的关联。
sectionGroup:定义配置节处理程序与配置节之间的关联。
--><configSections><sectionGroup name="system.web.extensions"type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"><sectionGroup name="scripting"type="System.Web.Configuration.ScriptingSectionGroup,System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"><section name="scriptResourceHandler"type="System.Web.Configuration.ScriptingScriptResourceHandlerS ection, System.Web.Extensions, Version=1.0.61025.0,Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false"allowDefinition="MachineToApplication"/></sectionGroup></sectionGroup><section name="rewriter"type="Intelligencia.UrlRewriter.Configuration.RewriterConfigur ationSectionHandler, Intelligencia.UrlRewriter"/></configSections><!--appSettings是应用程序设置,可以定义应用程序的全局常量设置等信息--><appSettings><add key="1"value="1"/><add key="gao"value="weipeng"/></appSettings><!--连接字符串设置--><connectionStrings><add name="ConnString"connectionString="DataSource=GAO;Initial Catalog=HBWXDate;UserID=sa;password=sa"></add><add name="111"connectionString="11111"/></connectionStrings><!--指定应用子配置设置的资源,并锁定配置设置,以防止它们被子配置文件重写。
漏洞整改建议.
1.1.针对网站目录路径泄露整改建议统一错误代码:确保你不小心通过提供不一致或“冲突”的错误消息给攻击者。
信息错误消息:确保错误信息不透露太多的信息。
完全或部分路径,变量和文件名,行和表中的列名,和特定的数据库的错误不应该透露给最终用户。
适当的错误处理:利用通用的错误页面和错误处理逻辑,告知潜在的问题的最终用户。
不提供系统信息或可能被攻击者利用精心策划的攻击时,其它数据。
1.2.针对文件上传漏洞整改建议文件上传功能允许 Web 用户将文件从自己的计算机发送到 Web 服务器。
如果用于接收文件的 Web 应用程序未仔细检查此文件是否包含恶意内容,那么攻击者也许能够通过上传文件在服务器上执行任意命令。
建议采取严格的文件上传策略,通过清理和筛选避免上传恶意材料。
限制文件上传的类型,检查的文件扩展名,只允许特定的文件上传。
用白名单的方式而不是一个黑名单。
检查双扩展,如.php.png。
检查的文件没有文件名一样。
htaccess(对配置文件,检查网络配置。
)。
改变对上传文件夹的权限,文件在此文件夹中不可执行。
如果可能的话,重命名上传文件。
可能会在 Web 服务器上运行远程命令。
这通常意味着完全破坏服务器及其内容可能会在 Web 服务器上上载、修改或删除 Web 页面、脚本和文件在文件上载过程中,限制用户能力和许可权:[1] 确保上载脚本只能控制上载的文件名和位置。
[2] 不上载脚本文件,如 asp、aspx、php、jsp 等。
只允许上载静态内容。
[3] 只允许上载预期的文件类型。
例如,如果您预期纯文本文件,便只允许 .txt 扩展名。
[4] 验证上载的文件内容。
如果您预期纯文本文件,请确保它不含二进制字符或动态脚本部分。
1.3.针对Robot.txt文件WEB站点结构泄露漏洞整改建议可能会检索有关站点文件系统结构的信息,这可能会帮助攻击者映射此 Web 站点。
1、robots.txt 文件不应用来保护或隐藏信息2、您应该将敏感的文件和目录移到另一个隔离的子目录,以便将这个目录排除在 Web Robot 搜索之外。
C#——web.config文件的配置
C#——web.config文件的配置一、认识Web.config文件Web.config文件是一个XML文本文件,它用来储存 Web 应用程序的配置信息(如最常用的设置 Web 应用程序的身份验证方式),它可以出现在应用程序的每一个目录中。
当你通过新建一个Web应用程序后,默认情况下会在根目录自动创建一个默认的Web.config文件,包括默认的配置设置,所有的子目录都继承它的配置设置。
如果你想修改子目录的配置设置,你可以在该子目录下新建一个Web.config文件。
它可以提供除从父目录继承的配置信息以外的配置信息,也可以重写或修改父目录中定义的设置。
在运行时对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 资源的客户端访问(如允许匿名用户访问)。
web.config文件配置项目中文件夹的访问权限
通过web.config文件配置项目中文件夹的访问权限分类: 2011-09-14 17:46 1980人阅读评论(1) 收藏举报formsmanagerauthorizationencoding该文讲解了通过web.config配置文件配置项目下文件夹的访问权限问题。
新建一个web运用程序,项目结构如下:其中Manager文件夹的页面属于管理员操作页面,所有只用通过登录并授权后才能访问,而根目录下面的页面则任何用户都可以访问,如Default.aspx页面。
首先修改根目录下的web.config配置文件,将默认的windows验证方式修改为Forms验证1.<authentication mode="Windows"/>1.<!--设置认证方式为Forms认证-->2.<authentication mode="Forms">3.<!--指定认证表单-->4.<forms loginUrl="~/Manager/Login.aspx"defaultUrl="~/Manager/Index_Manager.aspx"protection="All"></forms>5.</authentication>6.<!--授权:设置该配置文件同级目录下的所有资源的访问权限-->7.<authorization>8.<!--设置为允许所有用户访问-->9.<allow users="*"/>10.</authorization>然后在Manager文件下面添加新的web.config配置文件,该文件旨在重写外面的web.config——配置同级目录下的资源访问权限(在图中可以看到项目下有两个1.<?xml version="1.0"encoding="utf-8"?>2.<!--3.注意: 除了手动编辑此文件以外,您还可以使用4. Web 管理工具来配置应用程序的设置。
.net中webconfig详解
.net中webconfig详解.net 提供的是针对当前机器的配置。
---名称:machine.config运⾏机制:⽹站IIS启动的时候会加载配置⽂件中的配置信息,然后缓存这些信息,这样就不必每次去读取配置信息。
在运⾏过程中应⽤程序会监视配置⽂件的变化情况,⼀旦编辑了这些配置信息,就会重新读取这些配置信息并缓存。
配置⽂件节点:必须明⽩: web.config⽂件是⼀个XML⽂件所⾪属根节点的名称:复制代码代码如下:<configuration>⼦节点:<configSections></configSections> <appSettings> </appSettings> <connectionStrings></connectionStrings> <system.web></system.web> 特殊: <system.webServer></system.webServer>-----⽤于指定适⽤于 Web 应⽤程序的 IIS 7.0 设置,只适⽤于 IIS 7.0集成模式不适⽤于经典模式,如果应⽤程序正在经典模式下运⾏,则会忽略 Web.config ⽂件的<configuration>节点分析:1.<connectionStrings>节点 主要⽤于配置数据库连接,可以在<connectionStrings>节点中增加任意个节点来保存数据库连接字符串然后通过代码的⽅式动态获取节点的值来实例化数据库连接对象。
例如:复制代码代码如下:<connectionStrings><!--SQL Server数据库配置--> <add name="你所要取的名字(任意的)" connectionString=" Date Source=数据库登陆名; Initial Catalog=数据库名称; User ID=登录⼈ Password=登录⼈密码 "/>是可以配置多个数据库的连接的<add name="AspNetStudyConnectionString1" connectionString="Data Source=(local);InitialCatalog=AspNetStudy;User ID=sa;Password=sa"/><add name="ConnectionString" connectionString="Data Source=10.0.0.52;Initial Catalog=NEW_HOSPITAL_DEV;User ID=hospital;pwd=hospital;"/></connectionStrings>在代码中药读取数据库连接对象的做法:复制代码代码如下://读取web.config节点配置string connectionString = ConfigurationManager.ConnectionStrings["AspNetStudyConnectionString1"].ConnectionString; //实例化SqlConnection对象SqlConnection connection = new SqlConnection(connectionString);从中可以看出好处:⼀旦开发时所⽤的数据库和部署时的数据库不⼀致,仅仅需要⽤记事本之类的⽂本编辑⼯具编辑connectionString属性的值就⾏了2.<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>节点中的值:string FileType= ConfigurationManage.AppSettings["FileType"]; ----其实就是键值对的形式取值的3.<system.web> 节点:所属⼦节点:3.1.<compilation>节点作⽤:节点配置 使⽤的所有编译设置。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
通过web.config文件配置项目中文件夹的访问权限分类: 2011-09-14 17:46 1980人阅读评论(1) 收藏举报formsmanagerauthorizationencoding该文讲解了通过web.config配置文件配置项目下文件夹的访问权限问题。
新建一个web运用程序,项目结构如下:其中Manager文件夹的页面属于管理员操作页面,所有只用通过登录并授权后才能访问,而根目录下面的页面则任何用户都可以访问,如Default.aspx页面。
首先修改根目录下的web.config配置文件,将默认的windows验证方式修改为Forms验证1.<authentication mode="Windows"/>1.<!--设置认证方式为Forms认证-->2.<authentication mode="Forms">3.<!--指定认证表单-->4.<forms loginUrl="~/Manager/Login.aspx"defaultUrl="~/Manager/Index_Manager.aspx"protection="All"></forms>5.</authentication>6.<!--授权:设置该配置文件同级目录下的所有资源的访问权限-->7.<authorization>8.<!--设置为允许所有用户访问-->9.<allow users="*"/>10.</authorization>然后在Manager文件下面添加新的web.config配置文件,该文件旨在重写外面的web.config——配置同级目录下的资源访问权限(在图中可以看到项目下有两个1.<?xml version="1.0"encoding="utf-8"?>2.<!--3.注意: 除了手动编辑此文件以外,您还可以使用4. Web 管理工具来配置应用程序的设置。
可以使用 Visual Studio 中的5.“网站”->“配置”选项。
6.设置和注释的完整列表在7. ments 中,该文件通常位于8. /Windows//Framework/v2.x/Config 中9.-->10.<configuration>11. <!--12.<appSettings/>13.<connectionStrings/>14. -->15.<system.web>16.<!--添加授权-->17.<authorization>18.<!--阻止匿名用户访问-->19.<deny users="?"/>20.</authorization>21.</system.web>22.</configuration>至此,配置文件都修改完成了,但是还需要有登录授权部分。
下面我们通过Manager文件下面的Login.aspx登录页面给通过验证的用户授权。
1.protected void btnLogin_Click(object sender, EventArgs e)2.{3.//如果用户通过验证4.if (txtUserName.Text.Trim() == "qingyun" && txtPwd.Text.Trim() == "123456")5. {6.//授权7. FormsAuthentication.SetAuthCookie(txtUserName.Text.Trim(), false);8.//登录后跳转9. Response.Redirect("~/Manager/Index_Manager.aspx");10. }11.}至此全部完成!另外,以前写过一篇关于通过web.config文件配置项目中文件的访问权限的blog,有兴趣的朋友可以对比一下。
描述:在开发中我们通常会碰到这样的问题,例如:在项目的根目录下面有一个文件或者文件夹需要用户登陆后才能访问。
如果用户在没有登录的情况下访问该文件或者该文件夹下面的文件时,直接拦截重定向到对应的登陆页面。
例一:我想让用户在访问我的程序的Admin文件夹下的页面时需要登录,而在访问其他页面时则不需要,也就是说Admin文件夹下的文件拒绝匿名访问.下面是配置根目录下的web.config文件中关于授权验证的配置。
1.<system.web>2.<authentication mode="Forms"><!--默认状态下位Windows-->3.<forms loginUrl="Admin/Login.aspx"name=".ASPXFORMSAUTH"></forms>4.</authentication>5.<authorization>6.<allow users="*"/><!--允许任何访问者访问-->7.</authorization>8.</system.web>9.<location path="Admin"><!--注意:该节点最好跟在</system.web>之后,尽管这两个节点可能在web.config文件中相隔比较远,不要觉得有什么疑惑。
下面是对Admin文件夹的访问权限的配置。
-->10.<system.web>11.<authorization>12.<deny users="?"/><!--阻止匿名用户访问-->13.</authorization>14.</system.web>15.</location>注意location节,location节不需要<authorization>节了,假若加了的话,便会出现"在应用程序级别之外使用注册为allowDefinition='MachineToApplication' "这样的错误了,若在子文件下添加配置文件时也要注意相同的问题.这样,当你在地址栏里面直接访问Admin下的任意(非Login.aspx文件)时,将会被重定向到Admin文件夹下的Login.aspx页面。
那到底是如何通过Login.aspx登陆页面授权的呢(被授权后就可以访问Admin文件夹下面的文件了)?Login.aspx页面的后台代码:1.if (userName == "xzl" && pwd == "000")2.{3. FormsAuthentication.RedirectFromLoginPage(userName, false);//授权(这里是关键)4. Response.Redirect("Main.aspx");//通过上面授权后,用户名为xzl的的用户就可以访问Admin文件夹下面的Main.aspx文件了5.}当通过上面方式授权成功后,可以通过如下代码来访问登录的用户名:view plain1.//如果登录成功2.if (User.Identity.IsAuthenticated)3.{4.//输出登录名5.string userName = ;//获取登录名6. Response.Write("欢迎管理员:" + userName + "登录!");7.}当然,也可以通过代码来安全推出:view plain1.System.Web.Security.FormsAuthentication.SignOut();例二:上面的方式是“集中管理”的方式,也就是说在一个配置文件中配置所有页面的访问权限,这儿再介绍一下分散管理的方式,即通过多个web.config来配置文件的访问权限。
首先,web.config的作用我们应该知道两点:1、web.config的设置将作用于所在目录及所在目录下的所有子文件下的资源——一般指.net资源,如aspx、ashx、ascx等文件,对.html、js、css等则不起作用,当然,不同的iis版本下有所不同,在此不做讨论。
2、子目录下的web.config文件将覆盖从父目录继承下来的设置。
接下来,我们新建一个测试项目,项目资源如下图:上图中的Admin文件夹是受保护的,只有通过省份验证的用户可以访问,所以,我们在根目录下的web.config配置文件中做如下配置:view plain1.<authentication mode="Forms"><!--Forms验证-->2.<forms loginUrl="~/Admin/Login.aspx"name=".ASPX"></forms><!--未通过则转向Login.aspx登录页-->3.</authentication>4.<authorization><!--授权:对于此目录及此目录以下的所有资源-->。