摘要:
元数据是描述数据的数据。在CLR的上下文中,元数据表示由描述符组成的一套体系,这些操作符包括了在一个模块中被声明或引用的所有项。由于CLR模型是面向对象的,因此在元数据中描述的项是类和它们的成员,以及它们伴随着的特性、属性和关联。本节简单地介绍元数据,与原数据安全相关的内容会在后续章节中继续讲解,元数据的详细内容不在本书的论述范围之内。 阅读全文
摘要:
在.NET框架中,公共语言基础结构使用CLS来绑定不同的语言。通过要求不同的语言至少要实现CTS包含在CLS中的部分,公共语言基础结构允许不同的语言使用.NET框架。因此,在.NET框架中,所有的语言(C#、VB.NET、Effil.NET等)最后都被转换为了一种通用语言:微软中间语言(Microsoft Intermediate Language,MSIL,以下简称IL)。 阅读全文
摘要:
本文从.NET安全的需要出发,主要介绍公共语言运行库(CLR)、公共类型系统(CTS)、公共语言规范(CLS)、中间语言(IL)、框架类库(FCL)、基础类库(BCL)、即时编译(JIT)和预编译,以及动态语言运行时(DLR),从底层进行详细地解析。 阅读全文
摘要:
首次面对题目所示的需求的时候,头脑中没有任何概念,于是搜索,所有的中文结果都不是很满意。所幸老外的几篇文章还是很有参考价值,虽然最终没有解决我的问题,但是我还是把这几篇文章的内容作了抽取和整理,于是有了本文。主要内容如下:
1.1 浏览器检测
1.2 浏览器插件检测 阅读全文
摘要:
由于之前安装了asp.net mvc 4.0 ,导致asp.net mvc2的项目无法加载。网友建议修复安装vs2010,因为微软没有提供单独的针对vs2010的安装包。 阅读全文
摘要:
阅读全文
摘要:
最近一直在和同事讨论单元测试的问题,在对已有代码的可测试性进行评估的时候,我们发现业务逻辑层和持久层的测试分离成为了难点。本篇文章给出了四种基本方案,主要讨论最后一种方案的实施过程中遇到的一个dynamic 类型变量调用静态方法的解决方案,同时兼顾单元测试,和分层解耦。 阅读全文
摘要:
HashTable在所有的Web应用框架上都有应用,我们对Web应用每次发起请求所提交的参数,服务器端都会将其存储在HashTable中供后台代码调用。比如在Asp.NET应用中,我们使用Request.Form[key]和Request.QueryString[key]的方式来获取客户端提交的参数,参数就是被存储在HashTable中的,我们传入参数名称作为Key,通过Hash函数转换成对应的Value的数组下标,然后Value值被返回。
在正常的应用场景下这没什么问题,现在我们回到上面提到的HashTable退化的问题,如果客户端根据Web应用框架采用的Hash函数来通过某种Hash攻击的方式获得大量的碰撞,那么HashTable就会退化成链表,服务器有可能处理一次请求要花上十几分钟甚至几个小时的时间,一台PC机就可以搞定一台服务器,根本不用分布式攻击。 阅读全文
摘要:
PDB文件,全称为“程序数据库”文件。我们使用它(更确切的说是看到它被应用)大多数场景是调试应用程序。目前我们对.PDB文件的普遍认知是它存储了被编译文件的调试信息,作为符号文件存在。那么,它具体包含哪些内容呢?在调试过程中是怎样发挥作用的呢?我们有没有办法去操作这个文件呢? 阅读全文
摘要:
BasicHttpBinding使用HTTP作为传输协议用于发送SOAP 1.1消息。服务可以使用此绑定来公开符合WS-I BP 1.1标准的终结点,如ASMX客户端访问的终结点。同样,客户端可以使用BasicHttpBinding与公开符合WS-I BP 1.1标准的终结点的服务(如 ASMX Web服务或采用BasicHttpBinding 配置的服务)进行通信。虽然很多作者和专家不推荐使用BasicHttpBinding认为其安全性较差,但是它的确提供了完整的安全机制,很多场景满足要求,我们有必要去了解。BasicHttpBinding的安全配置和其他绑定并没有什么太大的差别,对此我们可以由此及彼,举一反三。 阅读全文