治根安全

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像素,得到网页。