原文:http://www.gzidc.com/faq.php?action=view&id=723&Itemid=38
ASP.NET中等安全级别
ASP.NET中等安全级别
ASP.NET运行模式的权限说明图:
ASP.NET的默认运行模式是FULL TRUST 级别,在该级别下.NET程序拥有极高的权限执行程序或者代码。但是让程序运行在该模式下是十分危险的,黑客可以轻易地利用你的程序进行提权。国外空间,比如GoDaddy通常会把ASP.NET代码执行权限控制在中等安全模式。我司决定将ASP.NET的运行模式调为中等信任级别。
中等安全模式会有哪些影响?
以下是在ASP.NET中等安全模式下曾经遇到过的一些问题:
1. 基于VirtualPathProvider的模板机制不能用,因为VirtualPathProvider至少需要运行在High模式。
2. BuildProvider不能用,意味着你想自己添加自己的语言实现也不能用了,不过大部分项目不会用到这么高级的东西。
3. CodeDom、Emit不能用了,这下惨了,什么Ioc、AOP,动态注入的高科技玩意儿,全都废了,这些不是基于CodeDom的就是基于Emit的。
4. 通过aspx页面接管文件下载也不行了,Response写文件流到客户端需要更高的代码执行权限。
5. 大文件上传也别想了,因为大文件上传万变不离HttpWorkRequst,获取HttpWorkRequst的代码需要FullTrust模式。
6. SQLite不能用了,因为中等安全模式下没有非托管代码调用权限,所以除了SQLite外,涉及到非托管代码调用的,也都废掉了。
所以,如果要考虑允许让用户把程序部署到中等安全模式下,那就越早做中等安全模式的兼容性测试越好。
因为很多不能用的东西,都是涉及到基础结构的。
比如,文件下载不能通过Response写文件流的方式,你的程序正巧又是这么做防盗链,咋办?
答:用.htaccess做伪静态。
中等信任级别的主要限制:
不能调用非托管代码
不能调用服务组件
不能写事件日志
不能访问 Microsoft 消息队列
文件访问仅限于当前应用程序目录
注册表访问是不允许的
如果因为调整了安全级别导致您的网站出现访问异常的问题,请根据信任级别的限制调整您的程序。
以下是判断程序是否运行在中等安全模式的代码:
1 2 3 |
if (SecurityManager.IsGranted(new AspNetHostingPermission(AspNetHostingPermissionLevel.Medium))) { } |
如果有遇到不是必须执行的逻辑,比如获取程序内存占用率或者大文件上传,那就可以先判断下,再决定是否调用。
相关推荐
ASP.NET的安全登录 ASP.NET的安全登录 ASP.NET的安全登录
ASP.NET入门经典ASP.NET入门经典ASP.NET入门经典ASP.NET入门经典ASP.NET入门经典ASP.NET入门经典ASP.NET入门经典ASP.NET入门经典ASP.NET入门经典ASP.NET入门经典ASP.NET入门经典ASP.NET入门经典ASP.NET入门经典ASP...
非通用型的Web程序或产品,通常不会和ASP.NET中等安全模式打交道,因为面对的用户群体会比较固定,或者部署环境是可以由程序提供者决定的。 但在做通用型的Web产品的时候,你就要和各种人打交道了,有的站长用的是...
asp.net教程asp.net教程asp.net教程asp.net教程asp.net教程asp.net教程asp.net教程asp.net教程asp.net教程asp.net教程asp.net教程asp.net教程asp.net教程asp.net教程asp.net教程asp.net教程asp.net教程asp.net教程...
ASP.NET 参考手册 在 W3School,我们提供完整的 ASP.NET 参考手册,其中包括内建对象和组件,以及它们的属性和方法。 ASP.NET 实例 ASP.NET 实例 一系列的 ASP.NET 实例。 内容目录 ASP.NET 简介 本章解释 ASP.NET...
ASP.net实战项目ASP.net实战项目ASP.net实战项目ASP.net实战项目ASP.net实战项目ASP.net实战项目ASP.net实战项目ASP.net实战项目ASP.net实战项目ASP.net实战项目ASP.net实战项目ASP.net实战项目ASP.net实战项目ASP...
ASP.NET与Windows 2000 Server/Advanced Server的完美组合,为中小型乃至企业级的web商业模型提供了一个更为稳定,高效,安全的运行环境。 正是基于上面的激动人心的理由,我们编写了这样一本书
asp.net经典聊天室asp.net经典聊天室asp.net经典聊天室asp.net经典聊天室asp.net经典聊天室asp.net经典聊天室asp.net经典聊天室asp.net经典聊天室asp.net经典聊天室asp.net经典聊天室asp.net经典聊天室asp.net经典...
介绍了ASP.NET安全体系结构.分析了ASP.NET应用程序中登录系统的验证流程和页面请求流程。给出了加密模块的具体的实现方法
asp.net 排课 系统asp.net 排课 系统asp.net 排课 系统asp.net 排课 系统asp.net 排课 系统asp.net 排课 系统asp.net 排课 系统asp.net 排课 系统asp.net 排课 系统
asp .net 教程asp .net 教程asp .net 教程asp .net 教程
这是第六版的介绍《ASP.NET 4入门经典:涵盖C#和VB.NET(第6版)》内容简介:ASP.NET是.NET Framework的一部分,用于构建内容丰富的动态Web站点。其最新的版本ASP.NET 4对上一版进行了许多改进,包括增强了Web窗体,并...
ASP.NET文件参考 asp.net asp.net技巧
ASP.NET core 5.0文档PDF(含目录,共5453页)。摘要: ASP.NET Core 文档及新增内容 ASP.NET 比较 .NET Core 和 .NET Framework 入门新增功能 5.0 版中的新增功能 3.1/3.0/2.2/2.1/2.0/1.1 版中的新增功能 教程Web ...
上传人提醒:本书适合了解c#语法的人阅读,看这本书前建议先看C#入门经典 ...本书对于ASP.NET 2.0技术和Visual Studio 2005进行了全面讲解,出色地囊括了读者在实际编程中会用到的ASP.NET的重要特性,十分适合中级读者。
上传人提醒:本书适合了解c#语法的人阅读,看这本书前建议先看C#入门经典 ...本书对于ASP.NET 2.0技术和Visual Studio 2005进行了全面讲解,出色地囊括了读者在实际编程中会用到的ASP.NET的重要特性,十分适合中级读者。
Asp.Net MVC案例教程 Asp.Net MVC案例教程 Asp.Net MVC案例教程 Asp.Net MVC案例教程 Asp.Net MVC案例教程 Asp.Net MVC案例教程
asp.net实现按钮级别的权限操作,采用自定义控件方式实现
ASP.net源码asp.netASP.net源码asp.netASP.net源码asp.netASP.net源码asp.netASP.net源码asp.netASP.net源码asp.netASP.net源码asp.netASP.net源码asp.netASP.net源码asp.netASP.net源码asp.net
asp.net cookie 查看的源码 asp.net cookie 查看的源码 asp.net cookie 查看的源码 asp.net cookie 查看的源码 asp.net cookie 查看的源码 asp.net cookie 查看的源码 asp.net cookie 查看的源码 asp.net cookie ...