随笔分类 - c#
摘要:有时我们需要在调用一个方法前加判断,比如当前用户是否有权限来调用此方法。常规做法在NET中是自己做一个Attribute来完成,不过在4.5中有System.Security.Permissions.PrincipalPermissionAttribute可以协助我们,用的是System.Secur...
阅读全文
摘要:上次写了篇文章,内容是如何利用WebClient模拟登陆CSRF控制的网站,回复中有人还是不理解,现在另开一篇,打算说说用Python如何来登陆。开写之前,先说下为什么webrequest不行,常规情况下,我们在利用webrequest的时候,都是如下的形式: 1 string url = "log...
阅读全文
摘要:一般我们都是利用WebRequest这个类来向服务器进行数据的POST,不过很多情况下相应的服务器都有验证,看你是不是登陆,是不是来自同一个域,这些都简单,我们可以更改其属性来达到欺骗服务器。不过如果服务器做了CSRF控制,那我们怎么办?不熟悉CSRF的可以问下G哥此为何物,这里简单介绍下。CSRF...
阅读全文
摘要:做C/S的朋友一般都有个窗体,用来配置应用的数据库连接语句,那这个窗体我们是自己写好呢还是调用微软现有的,当然这是智者见智,仁者见仁的问题,下面将简单介绍如何利用微软现有的来实现这么一个窗体。首先我们需要在解决方案中引入如下三个库:接下来事情会简单到出乎你意料之外,在我们需要打开窗体配置的地方写上如...
阅读全文
摘要:D:\Program Files\Microsoft Visual Studio 10.0\VC>wsdl /l:c# /n:cmsserver /out:E:\ospsoft\TravelSolution\cmsserverclient.cs E:\ospsoft\TravelSolution\C...
阅读全文
摘要:NHibernate是从Hibernate移植过来的基于NET平台的一个ORM框架,同时跟这框架一起的还有一个开源库,叫做Iesi.Collections,这个库扩展了NET平台下面的几个集合,所谓集合,最重要的就是集合的语言,我们NET平台中可能IList,IDictionary用的比较多,但是其实还有像Set,Bag等等的存在,像在Python中,就有List列表跟Set集合的存在。那么在用NHibernate进行开发的时候我们还如何来进行选择呢?首先我们需要明确的是我们要知道这几个东西的区别。Set:它是一个无序的,里面对象是唯一的,不允许有重复数据的存在,这点像Python中的Set,
阅读全文
摘要:拿c#语言跟objective-c做个对比,记录下自己认为是差不多的东西。学过objc的人相信对category这个东西肯定不陌生,它可以让我们在没有源码的基础上对原先的类添加额外的一些方法,写到这,是不是可以想像到跟c#中的扩展方法很像。是的,它们虽然叫法不一样,但所能完成的功能是一样的。接下来说说objc中的Protocol,这是一个与类无关的概念,任何类都可以实现已经定义好的Protocol,这东西跟c#中的接口差不多,只不过objc中的Protocol有可选跟必选两个概念,那到底是两个什么东西呢?可选就是说你在实现这个Protocol的时候,它的方法你可以选择实现它也可以不去实现,而必
阅读全文
摘要:CSRF 跨站伪造请求不知CSRF为何物的,可以问下G哥。在Asp.net MVC平台下,提供了Html.AntiForgeryToken() 方法,我们只需把其放在form的标签内,在浏览器端就会生成一个隐藏的标签,然后在相应的action中添加如下特性:[ValidateAntiForgeryToke],这样从其它地方伪造过来的请求就会由框架自动帮我们进行处理,从而拒绝CSRF的攻击。在Python的django框架中,也提供了相应的机制。我们需要在相应的template中放入{% csrf_token %}这样一个tag,注意的是需要放在标签内,同时在相应的View方法中,需要使用 dj
阅读全文
摘要:何为闭包?引用维基上面的说法,闭包是词法闭包的简称,就是引用了自由变量的函数,这个被引用的自由变量将和这个函数一同存在,即使已经离开了创造它的环境也不例外。所以,有另一种说法认为闭包是由函数和与其相关的引用环境组合而成的实体。下面就自己熟悉的语言都来一种闭包。C#:1 var x = 1;2 Action action = () =>3 {4 var y = 2;5 var result = x + y;6 Console.Out.WriteLine("result = {0}", result);7 };8 action();在action()执行的时候就引用了外界
阅读全文