2013-1-18 3640 0
治根安全

ASP.NET的安全该如何设置,在我们配置好服务器环境后,把该搞好的权限都做好后,往往忽略了asp.net的权限,导致了服务器的不安全,那么ASP.NET的安全该如何设置呢?首先我们得找到ASP.NET的配置文件,位置在C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG\web.config(注意不同版本红色部分目录可能不一样)找到配置文件后,我们该如何去配置才算安全呢?懒人方法:1.trustlevel设置为"High",如<trustlevel="High"originUrl=""/>2.同时可以配合系统本身的FSO权限设置站点根目录的web.config为只读。备注提示:0.FullTrust是绝对危险的1.切记要设置逻辑正确的策略,不要被攻击者用shell来重写策略文件。2.从webshell里执行起来的exe不受asp.net的策略限制。3.反射是个危险的方法4.花点时间配置安全策略是一劳永逸的事情默认web.config的权限设置节如下:<locationallowOverride="true"><system.web><securityPolicy><trustLevelname="Full"policyFile="internal"/><trustLevelname="High"policyFile="web_hightrust.config"/><trustLevelname="Medium"policyFile="web_mediumtrust.config"/><trustLevelname="Low"policyFile="web_lowtrust.config"/><trustLevelname="Minimal"policyFile="web_minimaltrust.config"/></securityPolicy><trustlevel="Full"originUrl=""/></system.web></location>level:必选的String属性Full:指定无限制的权限。授予ASP.NET应用程序访问任何资源的权限(受操作系统安全性的限制)。支持所有被授予特权的操作。该设置在AspNetHostingPermissionLevel枚举中称为Unrestricted。默认值是Full(无限制)。High:指定高级别的代码访问安全性,这意味着应用程序不能执行下列任何操作。•调用非托管代码。•调用服务组件。•写入事件日志。•访问Microsoft“消息队列”队列。•访问ODBC、OleDb或Oracle数据源。Medium:指定中等级别的代码访问安全性,这意味着除了High限制外,ASP.NET应用程序还不能执行下列任何操作。•访问应用程序目录以外的文件。•访问注册表。Low:指定低级别的代码访问安全性,这意味着除了Medium限制之外,应用程序还不能执行下列任何操作。•写入文件系统。•调用Assert方法来扩展对资源的权限。Minimal:指定最低级别的代码访问安全性,这意味着应用程序只有执行权限。

源码

用iframe调用分两种方法,一种是调用自己可控的网页,另一种是调用不可控的网页。如果是自己调用自己的,那我们直接用锚连接就可以。具体方法:<iframesrc=你的网址#锚点></iframe>这样就可以了。在这其中可以设置自己的样式大小和宽度。另一种是调用别人的网页,我们不可控,没办法加锚点,怎么办呢?我们用下面的方法。<IFRAMEvspace=300hspace=”300″src=”你的网址”frameBorder=0scrolling=nowspace=”200″></IFRAME>这里面的内容都是什么呢?vspace是垂直方向移动;向上移动100像素格式是vspace=-100hspace是水平方向移动;向左移动100像素格式是hspace=-100width和marginWidth都是嵌入框架的宽度height和marginheight都是嵌入框架的高度scrolling是,是否显示下拉标识,”no”是隐藏,”yes”是显示leftmargin是距离左端的距离topmargin是距离上端的距离js操作iframe的一些知识1.打印iframeeg.frameName.document.execCommand(‘print’);2.获取iframeeg.varifr_window=window.frames["frameName"];3.获取iframe中的元素eg1.将iframe中id为elementId的元素置为不显示:varifr_window=window.frames["frameName"];ifr_window.elementId.style.display=‘none’;eg2.获取iframe中id为listTable的表格varoTable=window.frames["myFrame"].document.all.listTable;4.隐藏或显示表格的某列js函数:functionsetHiddenOrShowCol(oTable,iCol,type){for(i=0;i<oTable.rows.length;i++){oTable.rows[i].cells[iCol].style.display=type;}}调用举例,将id为listTable的表格元素的第4列置为不显示:varoTable=window.frames["myFrame"].document.all.listTable;setHiddenOrShowCol(oTable,3,‘none’);调用举例2,将id为listTable的表格元素的第4列置为显示:varoTable=document.frames.myFrame.document.all.listTable;setHiddenOrShowCol(oTable,3,‘block’);JS部分是在网上看到的,还没试呢,我正在和同事商量用JS+CSS来空间,用iframe调用,看会不会更人性化,对浏览器的兼容性好点。有试过的也可以来分享分享啊。可能看到上面不是很清楚,下面有个列子,可以更清楚的查看:<IFRAMEwidth="1010"height="2870"src="http://www.xyxdxl.com/guestbook/"frameBorder=0scrolling=novspace=-380hspace=-240></IFRAME>上面的width,height为宽高,vspace为把网页上面的部分去掉380像素,hspace左边去掉240像素,得到网页。

源码

[field:picname/]:用于dede:arclist中,调用图片SRC地址[field:arcurl/]:用于dede:arclist中,调用文章URL链接[field:title/]:用于dede:arclist中,调用文章标题([field:pubdatefunction=MyDate('m-d',@me)/]):调用如:(10-15)时间,用于dede:arclist中([field:pubdatefunction=MyDate('Y-m-d',@me)/]):调用如:(2010-10-15)时间,用于dede:arclist中([field:pubdatefunction="GetDateTimeMK(@me)"/]):调用如:(2010-10-1514:36:08)时间,用于dede:arclist中[field:typename/]:用于dede:arclist中,调用当前文章的栏目名称[field:typeurl/]:用于dede:arclist中,调用当前文章的栏目链接[field:click/]:文章点击数[field:descriptionfunction='cn_substr(@me,60)'/]:用于dede:arclist中,调用文章描述,其中60为字节限制[field:info/]:描述{dede:fieldname='typename'/}:当前栏目名称标签{dede:fieldname='position'/}:当前位置调用标签[field:typelink/]:当前文章栏目名称和链接[field:description/]:当前文章描述[field:typename/]:文章列表页调用当前栏目名称(无链接)titlelen='100':限制标题长度{dede:tagsort='new'getall='0'}<ahref='[field:link/]'>[field:tag/]</a>{/dede:tag}:tag标签并且加链接(须有taglist.htm)tag首页或列表页调用:http://hi.baidu.com/mvphk/blog/item/314e7ad47a1ab4db50da4b2b.html最新标签{dede:tagrow='30'sort='new'}[field:highlight/]([field:result/]){/dede:tag}当月热门标签{dede:tagrow='30'sort='month'}[field:tagname/]([field:result/]){/dede:tag}随机标签{dede:tagrow='60'sort='rand'}[field:highlight/]([field:result/]){/dede:tag}内容页tag添加:{dede:tagtype='current'/}路径类:{dede:global.cfg_memberurl/}会员中心对应/member/{dede:global.cfg_cmsurl/}安装目录,根目录对应/{dede:global.cfg_dataurl/}data目录对应/data/{dede:global.cfg_basehost/}网站地址:对应http://www.597tao.com{dede:global.cfg_templeturl/}对应网站模板目录对应/templets分站应用:{dede:channeltype='son'}<li><ahref='[field:typeurl/]'>[field:typename/]</a></li>{/dede:channel}当前栏目的栏目列表{dede:typetypeid='1'}<ahref="[field:typelink/]">[field:typename/]</a>{/dede:type}指定栏目链接-----------------------获取二级以上栏目的栏目链接名称----------------------------------------------------{dede:type}[field:idrunphp=yes]$tsql=newDedeSql(false);$typelink2='';$tsql->SetQuery("Selecti.siteurl,i.id,i.typenameFromtleftjoinioni.id=t.reidwheret.id='@me'");$tsql->Execute('t');while($row=$tsql->GetArray('t',MYSQL_ASSOC)){$typelink2.="<ahref='".$row['siteurl']."'>".$row['typename']."</a>";}@me=str_replace("{cmspath}","",$typelink2);[/field:id]{/dede:type}-------------------------------获取二级以上栏目的上级栏目链接名称--------------------------------------------------------获取二级以上栏目的上级栏目名称----------------------------------------------------{dede:type}[field:idrunphp=yes]$tsql=newDedeSql(false);$typelink2='';$tsql->SetQuery("Selecti.siteurl,i.id,i.typenameFromtleftjoinioni.id=t.reidwheret.id='@me'");$tsql->Execute('t');while($row=$tsql->GetArray('t',MYSQL_ASSOC)){$typelink2.="".$row['typename']."";}@me=str_replace("{cmspath}","",$typelink2);[/field:id]{/dede:type}-------------------------------获取二级以上栏目的上级栏目名称----------------------------------------------------------------获取二级以上栏目的上级栏目链接---------------------------------{dede:type}[field:idrunphp=yes]$tsql=newDedeSql(false);$typelink2='';$tsql->SetQuery("Selecti.siteurl,i.id,i.typenameFromtleftjoinioni.id=t.reidwheret.id='@me'");$tsql->Execute('t');while($row=$tsql->GetArray('t',MYSQL_ASSOC)){$typelink2.="".$row['siteurl']."";}@me=str_replace("{cmspath}","",$typelink2);[/field:id]{/dede:type}-------------------------------获取二级以上栏目的上级栏目链接---------------------------------获取当前栏目的链接地址:你的网站主域名/{dede:fieldname="arcurl"/}{dede:fieldname="arcurl"/}在dede5.7的文章页使用{dede:fieldname="arcurl"/}即可得到dede当前文章页url链接---------------------------------------------------------------------------------------------------dede当前栏目名称和栏目的链接{dede:type}<ahref="[field:typelink/]">[field:typename/]</a>{/dede:type}————————————————————————————————————————总点击排行:{dede:arclistrow=20titlelen=24orderby=click}·[field:textlink/]([field:pubdatefunction=strftime('%m-%d',@me)/])<br/>{/dede:arclist}月点击排行:{dede:arclistrow=20titlelen=24orderby=clicksubday=30}·[field:textlink/]([field:pubdatefunction=strftime('%m-%d',@me)/])<br/>{/dede:arclist}周点击排行:{dede:arclistrow=20titlelen=24orderby=clicksubday=7}·[field:textlink/]([field:pubdatefunction=strftime('%m-%d',@me)/])<br/>{/dede:arclist}日点击排行:{dede:arclistrow=20titlelen=24orderby=clicksubday=1}·[field:textlink/]([field:pubdatefunction=strftime('%m-%d',@me)/])<br/>{/dede:arclist}----------------------------------先进玩意-----------------------------------------------------------------[field:globalname=autoindex/]递增标签——http://hi.baidu.com/mvphk/blog/item/3740303c586447ce3c6d97ab.htmlnoflag='h'不是头条的infolen='110'描述字数110----------------------------------优化可能用到的----------------------------------------------------1.列表页中使用{dede:field.content/},第一页显示,第二页以上不显示~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~注意:只针对最新dedecms5.7  第一步:找到修改文件arc.listview.class.php  第二步:273行$this->ParseTempletsFirst();删除掉  第三步:299行找到$this->ParseDMFields($this->PageNo,1);回车插入$this->ParseTempletsFirst($this->PageNo);  第四步:找到functionParseTempletsFirst()改成functionParseTempletsFirst($now_page)  第五步:找到550行$GLOBALS['envs']['cross']=1;回车插入if($now_page>=2)$this->Fields['content']="";~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~dede:arclist调用自定义字段addfields='add1,add2,需要查询出来的自定义字段名'channelid='自定义内容模型的ID'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~简略标题简略标题调用:{dede:field.shorttitle/}不能在{dede:arclist}标签中套用,一般放在网页titile处简略标题调用[field:shorttitle/]这个可以在{dede:arclist}标签中套用,一般用在栏目列表。当有简略标题时显示简略标题,没有简略标题时显示正标题  {dede:fieldname=’array’runphp=’yes’}if(@me['shorttitle']==”)@me=@me['title'];else@me=@me['shorttitle'];{/dede:field}这个不能在{dede:arclist}标签中套用,一般放在网页titile处;当有简略标题时显示简略标题,没有简略标题时显示正标题可以在{dede:arclist}标签中套用,一般用在栏目列表。  [field:arrayrunphp='yes']if(@me['shorttitle']==”)@me=@me['title'];else@me=@me['shorttitle'];[/field:array]简略标题字数修改:  简略标题的字数是做了限制的,可以在管理目录dede文件夹下找到下面5个文件:  archives_add.php,archives_do.php,archives_edit.php,article_add.php,article_edit.php  然后分别在文件中找到代码:  $shorttitle=cn_substrR($shorttitle,36);  把36改成100就可以了。~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~dede5.7调用二级栏目下的子栏目{dede:channelartlisttypeid='1,2,3...'}<ahref="{dede:fieldname='typeurl'/}">{dede:fieldname='typename'/}</a><hr><!--这里我们加一个横线,已区分顶级栏目、子栏目,此处为注释文字,可以删除-->{dede:channeltype='son'noself='yes'}<ahref="[field:typelink/]">[field:typename/]</a><br/>{/dede:channel}{/dede:channelartlist}其中{dede:channelartlisttypeid='1,2,3...'}数字填写要调用的顶级栏目的ID~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~