对抗假人 —— 前后端结合的 WAF

原文来自对抗假人 —— 前后端结合的 WAF

前言

之前介绍了一些前后端结合的中间人攻击方案。由于 Web 程序的特殊性,前端脚本的参与能大幅弥补后端的不足,从而达到传统难以实现的效果。

攻防本为一体,既然能用于攻击,类似的思路同样也可用于防御。如果将前端技术结合到传统的 WAF 中,又能有如何的改进?

假人的威胁

简单易用,是 Web 服务最大的优势。然而,这也是个致命的弱点。

这种格式简单、标准一致的特征,使得攻击者能利用现有的安全工具,进行大规模、通用化的探测和入侵。甚至无需了解其中的原理。

试想一下,如果某个网站使用私有的二进制协议,那么即使存在漏洞,也得先考虑通信问题。若是寄托于现成的安全工具,那[……]

查看更多……

HTML5 Communication API

本文探讨用于构建实时(real-time)跨域(cross-origin)通信的两个重要模块:跨文档消息通讯和XMLHttpRequest Level 2。通过它们,我们可以构建引人注目的Web应用,作为HTML5应用新的通信手段,这两个构建块可以让不同域间的web应用安全地进行通信。

 

跨文档消息通信

处于安全方面考虑,运行在同一浏览器中的框架、标签页、窗口之间的通讯一直受到严格的限制。例如,在浏览器内部共享信息对某些站点可能比较方便,但是同时也增加了收到恶意攻击的可能性。如果浏览器允许程序访问加载到其他框架和标签的内容,某些网站就能够利用脚本窃取其他网站的某些信息。浏览器厂商合理第限[……]

查看更多……

前端页面卡顿?可能是DOM操作惹的祸,你需要优化代码

文档对象模型(DOM)是一个独立于特定语言的应用程序接口。在浏览器中,DOM接口是以JavaScript语言实现的,通过JavaScript来操作浏览器页面中的元素,这使得DOM成为了JavaScript中重要的组成部分。在富客户端网页应用中,界面上UI的更改都是通过DOM操作实现的,并不是通过传统的刷新页面实现的。尽管DOM提供了丰富接口供外部调用,但DOM操作的代价很高,页面前端代码的性能瓶颈也大多集中在DOM操作上,所以前端性能优化的一个主要的关注点就是DOM操作的优化。DOM操作优化的总原则是尽量减少DOM操作。

在讨论DOM操作的最佳性能实践之前,先来看看DOM操作为什么会影响性能。在[……]

查看更多……

加班有罪

前言

加班在很多行业司空见惯,于是 "过劳死" 开始为更多的人关注,
IT行业尤为严重,但是普通职员再关注也起不了多大的作用,老板让你加班,或者是潜规则让你加班。我们从几年前就开始不提倡加班,我们也基本没加班,但是最近做了一个项目,出现程序员加班,甚至我自己本人都投入了很多下班后的时间,让我又一次思考加班的问题。作为一个分公司经理,我鼓起勇气写下此文。

脑力劳动不应该加班

加班无非就是增加工作时间来增加工作产出,比如机器制造,我们让机器多转几小时,肯定多生产一些产品,比如我们让人搬砖,多搬几个小时,虽然最后比较累,无非就是搬的慢了,但是还是能多搬一些。但是这些可以说基本都是机械性的[……]

查看更多……

解决ASP.NET中的各种乱码问题

源文解决ASP.NET中的各种乱码问题

阅读目录

经常发现有人被乱码困扰着,而我感觉比较幸运,很少为此烦恼过。

在这篇博客中,我将把我想到的一些与乱码有关的经验总结出来,供大家参考。

回到顶部

页面显示乱码问题

在一个网站中,有些页面会正常显示,然而,有些页面会显示成乱码。 如果发生这种情况,可以检查一下web.con[……]

查看更多……

spring.net介绍

AleksSpring.NET这个开源的.NET应用程序框架的领头人之一,并且是这个框架中的WebAOPServices(服务)模块的领头开发人员。

Mark PollackCodeStreet, LLC的合作伙伴,这是一家为金融行业提供软件开发和咨询的公司。他曾先后担任多种前端办公交易系统(front office trading systems)的架构师和开发人员,这些系统综合使用了.NETJava技术,并主要运用了基于消息的中间件。在开始他的软件开发生涯之前获得了物理学博士学位。

Mark2003年以来一直参与了Spring框架的开发,并在2004年创建了Spring.NET版[……]

查看更多……

Spring.NET学习笔记

原文    

            目录

 

   前言

 

  Spring.NET学习笔记——前言 

 

   

  第一阶段:控制反转与依赖注入IoC&DI


  Spring.NET学习笔记1——控制反转(基础篇) Level 200
  Spring.NET学习笔记2——环境搭建(基础篇) Level 200
  Spring.NET学习笔记3——实现一个简易的IoC框架(练习篇) Level 100
  Spring.NET学习笔记4——对象的创建(基础篇) Level 200

  Spring.NET学习笔记5——容器中对象的作用域(基础[……]

查看更多……

AOP面向切面编程

  AOP(Aspect-Oriented Programming,面向切面的编程),它是可以通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术。它是一种新的方法论,它是对传统OOP编程的一种补充。

  OOP是关注将需求功能划分为不同的并且相对独立,封装良好的类,并让它们有着属于自己的行为,依靠继承和多态等来定义彼此的关系;AOP是希望能够将通用需求功能从不相关的类当中分离出来,能够使得很多类共享一个行为,一旦发生变化,不必修改很多类,而只需要修改这个行为即可。

  AOP是使用切面(aspect)将横切关注点模块化,OOP是使用类将状态和行为模块化。在OO[……]

查看更多……

【调侃】IOC前世今生

源文【调侃】IOC前世今生

    前些天,参与了公司内部小组的一次技术交流,主要是针对《IOC与AOP》,本着学而时习之的态度及积极分享的精神,我就结合一个小故事来初浅地剖析一下我眼中的“IOC前世今生”,以方便初学者能更直观的来学习与理解IOC!也作抛砖引玉之用。

(虽说故事中的需求有点小,但看客可在脑海中尽量把他放大,想象成一个很大的应用系统)

 

一、IOC雏形

1、程序V1.0

    话说,多年以前UT公司提出一个需求,要提供一个系统,其中有个功能可以在新春佳节之际给公司员工发送一封邮件。邮件中给大家以新春祝福,并告知发放一[……]

查看更多……

深入理解DIP、IoC、DI以及IoC容器

摘要

面向对象设计(OOD)有助于我们开发出高性能、易扩展以及易复用的程序。其中,OOD有一个重要的思想那就是依赖倒置原则(DIP),并由此引申出IoC、DI以及Ioc容器等概念。通过本文我们将一起学习这些概念,并理清他们之间微妙的关系。

 

目录

 

 

前言

对于大部分小菜来说,当听到大牛们高谈DIP、IoC、DI以及IoC容器等名词时,有没有瞬间石化的感觉?其实,这些“高大上”的名词,理解起来也并不是那么的难,关键在于入门。只要我们入门了,然后循序渐进,假以时日,自然水到渠成。

好吧,我们先初略了解一[……]

查看更多……