随笔分类 -  9、博文视点技术专区

摘要:Controller的激活与URL路由ASP.NET路由系统是HTTP请求抵达服务端的第一道屏障,它根据注册的路由规则对拦截的请求进行匹配并解析包含目标Controller和Action名称的路由信息。而当前ControllerBuilder具有用于激活Controller对象的ControllerFactory,现在看看两者是如何结合起来的。通过第2章“URL路由”的介绍我们知道,ASP.NET路由系统的核心是一个叫做UrlRoutingModule的HttpModule,路由的实现是它通过注册代表HttpApplication的PostResolveRequestCache事件对HttpH 阅读全文
posted @ 2013-02-26 18:19 博文视点(北京)官方博客 阅读(219) 评论(0) 推荐(0)
摘要:使用Ext.grid.Panel显示远程数据对于Ext.grid.Panel而言,它只是负责显示Store数组中心的数据,至于Store保存的数据到底是浏览器本地数据,还是远程服务器的数据,Ext.grid.Panel并不关心。因此,使用Ext.grid.Panel显示远程数据也非常简单,只要在配置Ext.data.Store时通过proxy选项指定加载远程服务器数据即可。如下示例示范了使用Ext.data.Store来加载远程服务器数据,使用Ext.grid.Panel显示Store所加载的远程数据。程序清单:codes\06\6.8\Ext.grid\Ext.grid.Panel_remo 阅读全文
posted @ 2013-02-21 17:06 博文视点(北京)官方博客 阅读(216) 评论(0) 推荐(0)
摘要:使用Ext.grid.Panel生成表格Ext.grid.Panel继承了Ext.panel.Panel,因此它的很多地方都类似于Ext.panel.Panel,但定义Ext.grid.Panel时必须指定如下两个选项。Ø store:该选项指定的Store对象负责为该表格提供数据。Ø columns:指定Ext.grid.column.Column数组或一个包含items属性(该属性值为Ext.grid.column.Column数组)的对象,该Ext.grid.column.Column数组指定Ext.grid.Panel生成的表格包含的所有列。如下代码示范了如何使用E 阅读全文
posted @ 2013-02-21 17:04 博文视点(北京)官方博客 阅读(310) 评论(0) 推荐(0)
摘要:使用Ext.grid.column.Column定义列正如从前面的示例中看到的,创建Ext.grid.Panel时,必须指定columns选项,该选项要么是Ext.grid.column.Column数组,要么是JavaScript对象,该对象中必须包含一个items属性,该属性值依然是Ext.grid.column.Column数组——总之,定义Ext.grid.Panel时,必须传入Ext.grid.column.Column数组来定义各数据列。使用Ext.grid.column.Column定义列定义可以指定如下常用选项。Ø text:指定该列的列名。Ø sortab 阅读全文
posted @ 2013-02-21 17:00 博文视点(北京)官方博客 阅读(3243) 评论(0) 推荐(0)
摘要:开发动态编辑的表格Ext JS在Ext.grid.plugin包下提供了允许编辑表格的插件功能,该包下提供了如下3个与表格编辑有关的类。Ø Ext.grid.plugin.Editing:为表格增加编辑功能的基类。Ø Ext.grid.plugin.RowEditing:为表格行增加编辑功能的插件类。Ø Ext.grid.plugin.CellEditing:为单元格增加编辑功能的插件类。当使用Ext.grid.plugin.RowEditing、Ext.grid.plugin.CellEditing为表格增加编辑时,可以指定如下4种常见的事件处理函数。Ø 阅读全文
posted @ 2013-02-21 16:55 博文视点(北京)官方博客 阅读(461) 评论(0) 推荐(0)
摘要:XSF即Cross Site Flash。很多网站的Flash播放器都会有XSF风险,因为这些播放器需要能够灵活加载第三方Flash资源进行播放。不过这样的XSF风险其实非常小,因为浏览器直接访问Flash文件时,安全沙箱的限制是很严格的。所以,下面分析的nxtv flash player只需了解思路即可,这样的XSF漏洞在这样的场景下毫无价值,有价值的是思路。漏洞文件:http://video.nxtv.cn/flashapp/player.swf分析方法分为静态分析和动态分析。1.静态分析我们可以使用SWFScan图形化界面或者用swfdump命令行工具进行反编译得到ActionScrip 阅读全文
posted @ 2013-02-20 16:47 博文视点(北京)官方博客 阅读(311) 评论(0) 推荐(0)
摘要:浏览器的同源策略古代的楚河汉界明确规定了楚汉两军的活动界限,理应遵守,否则必天下大乱,而事实上天下曾大乱后又统一。这里我们不用管这些“分久必合,合久必分”的问题,关键是看到这里规定的“界限”。Web世界之所以能如此美好地呈现在我们面前,多亏了浏览器的功劳,不过浏览器不是一个花瓶——只负责呈现,它还制定了一些安全策略,这些安全策略有效地保障了用户计算机的本地安全与Web安全。注:计算机的本地与Web是不同的层面,Web世界(通常称为Internet域)运行在浏览器上,而被限制了直接进行本地数据(通常称为本地域)的读写。同源策略是众多安全策略的一个,是Web层面上的策略,非常重要,如果少了同源策略 阅读全文
posted @ 2013-02-20 16:42 博文视点(北京)官方博客 阅读(459) 评论(0) 推荐(0)
摘要:Cookie安全Cookie是一个神奇的机制,同域内浏览器中发出的任何一个请求都会带上Cookie,无论请求什么资源,请求时,Cookie出现在请求头的Cookie字段中。服务端响应头的Set-Cookie字段可以添加、修改和删除Cookie,大多数情况下,客户端通过JavaScript也可以添加、修改和删除Cookie。由于这样的机制,Cookie经常被用来存储用户的会话信息,比如,用户登录认证后的Session,之后同域内发出的请求都会带上认证后的会话信息,非常方便。所以,攻击者就特别喜欢盗取Cookie,这相当于盗取了在目标网站上的用户权限。Cookie的重要字段如下:[name][va 阅读全文
posted @ 2013-02-20 16:39 博文视点(北京)官方博客 阅读(385) 评论(0) 推荐(0)
摘要:Android中native进程内存泄露的调试技巧红狼博客代码基于Android2.3.x版本Android为Java程序提供了方便的内存泄露信息和工具(如MAT),便于查找。但是,对于纯粹C/C++ 编写的natvie进程,却不那么容易查找内存泄露。传统的C/C++程序可以使用valgrind工具,也可以使用某些代码检查工具。幸运的是,Google的bionic库为我们查找内存泄露提供了一个非常棒的API--get_malloc_leak_info。利用它,我们很容易通过得到backtrace的方式找到涉嫌内存泄露的地方。代码原理分析我们可以使用adb shell setprop libc. 阅读全文
posted @ 2013-01-31 10:00 博文视点(北京)官方博客 阅读(6174) 评论(0) 推荐(0)
摘要:Looper中的消息队列处理机制Looper也提供了消息的定义、消息的发送、消息的处理者的自定义和消息队列。在其头文件Looper.h中,定义了消息结构体Message,它只有一个类型成员,Message的定义如下(见文件Looper.h,下同): 消息的处理者可由MessageHandler进行处理:使用者可通过派生出子类来扩展消息。对消息的处理,需要在MessageHandler的子类中重载handleMessage函数。它们将被封装到消息“信封”MessageEnvolope中,然后送到消息队列中。MessageEnvolope的定义如下:Looper中维护着一个自己... 阅读全文
posted @ 2013-01-31 09:27 博文视点(北京)官方博客 阅读(388) 评论(0) 推荐(0)
摘要:《深入剖析Android系统》第9章RIL补充配图《深入剖析Android系统》一书中第9章的RIL部分的函数层层调用,可以用插图的方式标示出主要的调用关系。由于插图较大,不适合16开的书籍尺寸大小,故未将相关插图放到《深入剖析Android系统》一书中。读者在阅读该章内容时,可以在电脑上放大插图来查看函数的调用关系。注:这些插图绘制于2009年,基于Android的Cupcake版本,但亦适用于Android的后续新版本。1.RIL调用关系概略图:2.RIL调用关系详图:3. RIL调用关系详图中的分发(dispatch)部分:4.RIL调用关系详图中的读取部分(reader):5. Rad 阅读全文
posted @ 2013-01-29 13:49 博文视点(北京)官方博客 阅读(296) 评论(0) 推荐(0)
摘要:Looper中的睡眠等待与唤醒机制C++类Looper中的睡眠和唤醒机制是通过pollOnce和wake函数提供的,它们又是利用操作系统(Linux内核)的epoll机制来完成的。当被监控的文件(通过epoll_ctl的EPOLL_CTL_ADD添加进去)可I/O时,epoll_wait调用会从睡眠中醒来,这时,可以检查是哪个(或哪些)文件描述符对应的文件可以进行I/O读写了,从而做出进一步处理。使用者利用它们就可以拥有睡眠等待和唤醒机制。下面详述。在Looper的构造函数中,会创建一个管道(下面的行73),然后调用epoll_create获取一个epoll的实例的描述符(行88),最后将管道 阅读全文
posted @ 2013-01-29 13:30 博文视点(北京)官方博客 阅读(1082) 评论(0) 推荐(0)
摘要:Looper对文件描述符的监控与处理上面提到的管道的读端是一种文件描述符,那么其他的文件描述符,如普通的文件、设备文件和套接字(包括套接字对)等的描述符,都可以被Looper用来监控,实现类似于上面的消息队列的唤醒和处理机制。通常,消息是通过消息队列发送的,也可以通过套接字(比如已建立好连接的套接字)、设备文件来发送;当然,也包括管道。对一个文件描述符进行监控后,只要有可I/O事件发生,那么调用了pollOnce的调用者(如某个线程)将被唤醒,然后就可调用指定的处理者(如回调函数)对到来的数据(若为可读事件的话)进行处理。Looper提供了addFd函数用于添加需要监控的文件描述符,这个文件描 阅读全文
posted @ 2013-01-28 14:45 博文视点(北京)官方博客 阅读(823) 评论(0) 推荐(0)
摘要:谁动了我的琴弦——会话劫持让我们看一个最常见的例子——会话劫持,如图10-2所示。图10-2 会话劫持说明如图10-2所示,受害者Alice正常的登录网站为www.buybook.com,此时她的Session ID是1234567,攻击者Bob通过网络嗅探获得了Alice的Session ID和Cookie中的用户登录信息,这样他就可以模仿Alice进行登录和操作了,而此时此刻Alice可能毫无所知。最常见的获取Session ID的方式就是我们前面讲解的XSS。下面通过具体的步骤详细地模拟会话劫持。➊ 我们正常地登录一个网站(这里用Google Chrome),登录的用户名是admin,记 阅读全文
posted @ 2013-01-09 16:03 博文视点(北京)官方博客 阅读(306) 评论(0) 推荐(0)
摘要:Windows 8使用了全新的 UI对Windows进行了重新塑造,让新的Windows更适应于当前最流行的指尖触摸操作。Windows 8将可以运行在众多设备诸如平板电脑、可触屏笔记本电脑、安装有可触摸屏幕的台式机上,同时Windows 8基于应用商店的模式进行运作,这对开发者来说意味着前所未有的机遇,出色的 Windows 商店应用将接受全球各地数百万用户的品评。应用为王Windows商店应用是 Windows 8 体验的核心。这些应用中的内容将充满动感和活力。用户将沉浸在全屏幕的 Windows 商店应用中,他们可以将注意力放在内容上而非操作系统本身上。在 Windows 8应用商店中发 阅读全文
posted @ 2012-12-27 14:45 博文视点(北京)官方博客 阅读(158) 评论(0) 推荐(0)
摘要:Windows UI的设计理念由最核心的五个原则组成,它们是:● 简洁与快速(clean, light, open, fast)● 注重排版和布局(celebrate typography)● 内容重于形式(content before chrome)● 生动而有灵魂(alive& in motion)● 返璞归真(authentically digital)当然以上这些设计理念在不同的软件产品中会有一些不同的具体表现形式,根据产品特性不同、应用场景不同而表现出不同的侧重点及具体特性。但是核心的理念特征却一直保持统一,那就是“内容重于形式”。1. 简洁与快速20世纪50年代期间,一种崭 阅读全文
posted @ 2012-12-27 14:44 博文视点(北京)官方博客 阅读(734) 评论(0) 推荐(0)
摘要:设计背景 (见图1-2)Windows UI最早出现在微软电子百科全书95,随后在Windows XP的Windows Media Center中有所体现,它有利于以文字为主的界面导航。2006年著名的Zune播放器开始使用类似Windows UI的设计风格,Zune的桌面客户端程序的清爽排版和设计给用户带来了耳目一新的冲击(见图1-3和图1-4)。微软的设计师计划重新设计现有用户界面,采用更清爽的排版和较少的重点,以便于用户使用。当前,Windows UI已经应用在Windows Phone、Windows 8、Office 和 Xbox 360等产品中。2.设计灵感机场和地铁的指示牌给了微 阅读全文
posted @ 2012-12-27 14:42 博文视点(北京)官方博客 阅读(387) 评论(0) 推荐(0)
摘要:我们每个人都同时存在于多个组织结构之中,要承担着不同的角色分工。为了达成一个统一的目标,所谓“组织”必须考虑如何合理、有效地进行规划、分工、协调、制衡等,以期顺利达成目标。云计算创新性地将大量计算资源组织在一起,协同工作,意味着云计算必须在信息技术的层面,给出一种针对大规模系统的科学管理办法。我们已知面对大规模系统时,单纯人工管理的无力,于是云计算采取了一种自动化管理的办法,即机器管理机器。这意味着在一个大的数据中心里,只需少数人员的巡视就能完成所有的日常维护工作。美国管理学教授斯蒂芬·罗宾斯将管理描述为“一个协调工作活动的过程,以便能够有效率和有效果地同别人一起或通过别人实现组织的 阅读全文
posted @ 2012-12-27 14:22 博文视点(北京)官方博客 阅读(161) 评论(0) 推荐(0)
摘要:从目前来看,如果我们想要完整的认知云计算,应该从“服务”和“平台”两面去理解,即云计算涵盖云计算平台和云计算服务这两个概念。如前所述,云计算服务代表一种新的商业模式,对于任何一种商业模式而言,除了理论上可行之外,还要保证实践上可用。对于云计算服务来说,要面向海量用户提供永远在线、随时访问的可用服务,而且支持多用户按需获取服务资源,并保证服务的可靠性,就要求底层IT系统能够支持这样的服务模式。因此,伴随着云计算服务理念的发展,云计算也形成了一整套技术实现机制,而云计算平台则是这套机制的具体体现。云计算平台在本质上类似一个操作系统,管理着一个“可扩展的网络超级计算机”。这个操作系统通过一些技术将大 阅读全文
posted @ 2012-12-27 14:20 博文视点(北京)官方博客 阅读(199) 评论(0) 推荐(0)
摘要:很多人觉得云计算应该是个具体的事物,所以初听到云计算时,总会先问一句:“什么是云计算”?什么是云计算?问的人轻松,回答的人却很费力,仿佛描绘一种味觉,感觉强烈,却不知如何抓住要领呈给面前的人看个仔细。倘若尽心给出一种解释,或画出一张架构图,听众可能还是一脸茫然,回答的人多半会急得皱眉跳脚,也有人会撂下一句:“你记得是IaaS、PaaS和SaaS即可”。话虽好说,理却难明。即使听懂了解释,还是有许多人会不知道“云计算”缘何而来,用于何处。“云计算”一词最早被大范围的传播应该是在2006年。2006年8月,在圣何塞举办的SES(搜索引擎战略)大会上,谷歌的CEO施密特(Eric Schmidt)在 阅读全文
posted @ 2012-12-27 09:35 博文视点(北京)官方博客 阅读(282) 评论(0) 推荐(0)