Fork me on GitHub

2013年6月21日

摘要: 跨站脚本攻击(Cross‐Site Scripting (XSS))跨站脚本攻击(Cross‐Site Scripting (XSS)) XSS(Cross Site Script)跨站脚本攻击。是指攻击者向被攻击Web 页面里插入恶意html代码,当用户浏览该页之时,嵌入其中的HTML代码会被执行,从而达到攻击的特殊目的。XSS和CSRF(Cross site request forgery)合称Web 杀手组合。黑客洞穿页面逻辑,使输入的内容被按照期望内容展示出来,从而达到欺骗或攻击用户的效果。常见的xss攻击类型有存储xss攻击和反射型xss攻击。存储型XSS(Stored XSS) 存 阅读全文
posted @ 2013-06-21 14:48 HackerVirus 阅读(227) 评论(0) 推荐(0)
摘要: C#程序开发中经常遇到的10条实用的代码1 读取操作系统和CLR的版本OperatingSystem os = System.Environment.OSVersion;Console.WriteLine(“Platform: {0}”, os.Platform);Console.WriteLine(“Service Pack: {0}”, os.ServicePack);Console.WriteLine(“Version: {0}”, os.Version);Console.WriteLine(“VersionString: {0}”, os.VersionString);Console. 阅读全文
posted @ 2013-06-21 14:43 HackerVirus 阅读(191) 评论(0) 推荐(0)
摘要: 运用DebugDiag诊断ASP.Net异常2013-06-21 13:18 by 微软互联网开发支持, 134 阅读,0评论,收藏,编辑Debug Diagnostic Tool (DebugDiag)是用来帮助诊断IIS/COM+等应用假死、性能差、内存泄露及碎片和崩溃等问题的工具。本文介绍如何运用DebugDiag诊断特定的ASP.Net异常:1. 按照操作系统的类型(32位或是64位),从http://www.microsoft.com/download/en/details.aspx?id=26798下载DebugDiag工具并安装。2. 在Debug Diagnostic Tool 阅读全文
posted @ 2013-06-21 14:31 HackerVirus 阅读(1185) 评论(0) 推荐(0)
摘要: 轻量级前端MVVM框架avalon - 模型转换(一)接上一章ViewModelmodelFactory工厂是如何加工用户定义的VM?附源码洋洋洒洒100多行内部是魔幻般的实现 1: function modelFactory(scope) { 2: var skipArray = scope.$skipArray, //要忽略监控的属性名列表 3: model = {}, 4: Descriptions = {}, //内部用于转换的对象 5: ... 阅读全文
posted @ 2013-06-21 14:19 HackerVirus 阅读(269) 评论(0) 推荐(0)
摘要: TOGAF架构开发方法(ADM)之需求管理阶段1.11需求管理(Requirements Management)企业架构开发方法各阶段——需求管理1.11.1 目标 本阶段的目标是定义一个过程,使企业架构的需求可以被识别、存储并与其他架构开发方法各阶段交互。1.11.2 方法 如上图所示,需求管理阶段位于整个架构开发方法循环的中心,而整个架构开发方法过程实际上也是由这一构成所驱动的。需求管理的目标并不是针对一系列静态的需求表述,而是一个动态的过程,借助于这一过程企业架构的需求和因此而产生的变更能够被识别、储存,并与企业架构开发方法其他各个阶段的输入与输出产生互动。需要注意的是,需求管理构成本身 阅读全文
posted @ 2013-06-21 14:17 HackerVirus 阅读(800) 评论(0) 推荐(0)
摘要: C#4.0中var和dynamic的区别1. var表示“变量的类型是在编译时决定的”, var让你在初始化变量时少输入一些字,编译器会根据右值来推断出变量的类型, var只能用于局部变量的定义,你不能把类的属性定义成 var,也不能把方法的返回值类型或者是参数类型定义成var2. dynamic表示“变量的类型是在运行时决定的”,动态语言运行时(dynamic language runtime DLR)是.NET Framework 4 Beta 1中的一组新的API,它提供了对c#中dynamic类型的支持, dynamic告诉编译器,根本就别理究竟是啥类型,运行时再推断不迟,dynami 阅读全文
posted @ 2013-06-21 14:14 HackerVirus 阅读(156) 评论(0) 推荐(0)

2013年6月20日

摘要: 智能指针与库最近尝试写一些基本的C++泛型组件,其实很多都是boost里已经有了,但是还是喜欢自己再写一下, 原因有三:1. boost太庞大,拿来学习不错,但是一般不会直接在项目中把它import进来。2. C++11也挺不错,但是现在工作还是以VS2008为主,所以这些新特性暂时用不上。3. 重复造轮子才能更好的理解轮子背后的原理,以后才能更好的操作轮子。看一些库时发现仅指针一项就有挺多封装, 思考为什么需要智能指针?通过智能指针可以以RAII的方式管理对象, 编写异常安全的代码; 原始的指针没有标明对象所有权的情况, 对象是你单独拥有的?还是你和别人共享对象, 但是你也参与管理? 还是你 阅读全文
posted @ 2013-06-20 22:54 HackerVirus 阅读(441) 评论(0) 推荐(0)
摘要: 查找进程运行的基址从WINDOWS VISITA开始以后,windows已经开始支持随机基址的关系,也就是说以前我们的进程基址都是从0x40000开始的,如果一个变量在我们第一次运行的时候地址为0x50000,那么以后也都会在这个位置而VS2008后开始提供随机基址的功能,在WINDOWS VISITA后的版本也都支持这个功能,这样进程的基址将不会再固定从一个地方开始,变量的地址也会随着基址的不同而不同,加大了我们对一个进程修改的难度,我们每次修改一个变量不能再将变量写死,而是要根据基址+数据偏移量来算出数据的地址,那么,我们怎么去获得一个进程的基址呢??在我们程序运行的时候,我们进程自己的H 阅读全文
posted @ 2013-06-20 22:50 HackerVirus 阅读(4464) 评论(0) 推荐(0)
摘要: 存储和索引建立今天完成了学生生涯最后一个课堂作业,数据库project,要求实现一个简单的数据库,能满足几个特定的查询,这里主要介绍一下我们的实现过程,代码放在过ithub,可参看这里。都说python的运行速度很慢,但因为时间比较急,工作量大,我们还是选择了高效实现的python。一、基本要求1、设计存储方式测试的数据量大小为1.5GB,最大的表有6,001,215条记录。最大限度减少I/O次数,减少磁盘占有空间。2、实现和优化group by,order by对大表进行group by 聚集、排序,提高查询效率3、实现和优化TOP k高效率实现TOP k4、对插入不作要求二、总体设计由于要 阅读全文
posted @ 2013-06-20 22:48 HackerVirus 阅读(491) 评论(0) 推荐(0)
摘要: Linux epoll总结Linux epoll epoll是Kernel 2.6后新加入的事件机制,在高并发条件下,远优于select。epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且,在linux/posix_types.h头文件有这样的声明:#define __FD_SETSIZE 1024 //select最多同时监听1024个fd 当然,可以通过修改头文件再重编译内核来扩大这个数目,但这似乎并不治本。 所以在Nginx中采用了epoll来实现其高并发特性。工作方式... 阅读全文
posted @ 2013-06-20 22:05 HackerVirus 阅读(351) 评论(0) 推荐(0)