原文: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))) { } |
如果有遇到不是必须执行的逻辑,比如获取程序内存占用率或者大文件上传,那就可以先判断下,再决定是否调用。
相关推荐
非通用型的Web程序或产品,通常不会和ASP.NET中等安全模式打交道,因为面对的用户群体会比较固定,或者部署环境是可以由程序提供者决定的。 但在做通用型的Web产品的时候,你就要和各种人打交道了,有的站长用的是...
ASP.NET是由微软公司开发的一种服务器端Web应用程序框架,用于构建高性能、安全的Web应用程序。它提供了丰富的控件和功能,使得开发者能够高效地编写动态网页。 在ASP.NET中生成二维码,通常会用到第三方库,如...
### ASP.NET + SqlServer 大数据解决方案与Hadoop对比分析 #### 一、SqlServer的特点及其在大数据中的应用 **SqlServer的优点:** 1. **支持索引:** SqlServer 提供了强大的索引支持,包括聚集索引和非聚集索引,...
《大型车辆管理系统源码 移动派车系统 车管系统asp.net》是一个专为车辆管理设计的软件系统,采用先进的ASP.NET技术构建,具备高效、稳定和易用的特点。该系统旨在解决大型企业或4S店在车辆调度、维护、监控等方面的...
ASP.NET 编程知识详解最好的 .NET 开源免费 ZIP 库 DotNetZip ASP.NET 编程知识中,文件压缩和解压缩是非常重要的操作, especialmente 在项目开发中,对文件的创建、删除、压缩和解压缩等操作都是必不可少的。...
我们先创建一个`QRCodeGenerator`实例,然后使用`CreateQrCode`方法生成`QRCodeData`对象,指定纠错级别(这里是中等纠错级别Q)。接着,通过`QRCode`类将数据转换为图像,并设置像素大小(20表示每个模块的像素数)...
本次版本没有大的新功能,因为我们主要重点放在ASP.NET 4.0迁移,更多的功能维护和修改漏洞,但我们有做出以下修改亮点:移到ASP.NET4.0(需要装VS2010用于源代码编辑)简化数据访问。目前使用ORM(Entity framework...
本次版本没有大的新功能,因为我们主要重点放在ASP.NET 4.0迁移,更多的功能维护和修改漏洞,但我们有做出以下修改 亮点: 移到ASP.NET4.0(需要装VS2010用于源代码编辑) 简化数据访问。目前使用ORM(Entity ...
代码中,`ErrorCorrectionLevel.M`表示选择了中等级别的错误校正,确保在部分损坏的情况下仍能解码。 接下来,我们可以利用生成的`QrCode`对象绘制二维码图像。QrCode.Net35提供了`GetGraphic`方法,接受一个参数,...
这个“asp net密技集(c#)”可能是针对ASP.NET开发的一些实用技巧和高级概念的集合,旨在帮助中等级别的开发者提升技能,更好地理解和运用ASP.NET。 在ASP.NET中,C#作为主要的编程语言,提供了丰富的特性和语法,...
3. 用户权限管理:设置不同级别的用户(如管理员、教师、学生),赋予不同的操作权限,确保数据的安全性。这需要实现身份验证和授权机制,可能使用ASP.NET的身份验证服务。 4. 用户界面:设计直观易用的图形用户...
通过设置QRCodeEncoder对象的各个属性,如编码模式QRCodeEncodeMode、二维码的尺寸QRCodeScale、版本QRCodeVersion、错误纠正级别QRCodeErrorCorrect,我们可以控制生成二维码的外观和容量。在本例中,编码模式被...
《基于ThoughtWorks.QRCode.dll的ASP.NET二维码控件详解》 在当今信息化时代,二维码(Quick Response Code)已经无处不在,它以其快速、便捷的特性被广泛应用于各种场景,如网页链接、电子票务、产品追溯等。在ASP...
本文将深入探讨如何使用ASP.NET进行二维码的创建,帮助开发者掌握这一实用技能。 首先,理解二维码的原理至关重要。二维码是一种二维条形码,由黑白相间的方块组成,能够存储比传统条形码更多的信息,并且可以被...
在ASP.NET环境中,你可以将这个位图对象发送到客户端,例如在一个`<img>`标签的`src`属性中使用`HttpServerUtility.MapPath`方法创建一个临时图像文件,并返回文件路径: ```csharp Response.ContentType = "image/...
在线考试系统是现代教育技术应用中的重要...然而,随着技术的发展,现在更常见的是使用更强大的数据库系统(如MySQL或SQL Server)和更现代化的Web开发框架(如ASP.NET或PHP),以支持更大规模、更复杂的在线考试需求。
- `Global.asax` 文件是ASP.NET应用程序中的全局应用程序文件,用于定义应用程序级别的事件处理程序,如应用程序启动、结束等。 - `index.aspx` 通常是网站的首页,包含网站的主要内容和导航元素。 - `web....
- **会话管理**:报告指出了会话管理方面的一些重要信息,包括会话标识Cookie(ASP.NET_SessionId和.ASPXAUTH)和参数(ValidateCode)。 ### 3. 安全问题概览 #### 3.1 跨站点请求伪造(CSRF) - **数量**:发现了...
在C#部分,游戏可能使用了ASP.NET框架来处理服务器端逻辑,例如用户操作的记录、难度级别的设定以及可能的分数计算等功能。C#语言的强大类型系统和面向对象特性使得代码结构清晰,易于维护。.Net框架提供了丰富的...