HTML应用安全

通常,我们使用HTML来创建交互网站,我们不能保证网络上每一个用户都是正直,友好的,为了大部分友好用户的体验和安全,我们需要关注网站的脆弱性,防止攻击者通过这些弱点进行攻击,窃取用户信息。本篇关注应用程序的安全性及应用程序开发过程中易犯的错误,主要介绍跨站脚本(XSS)和跨站请求伪造(CSRF)。

HTML5 canvas截图

上周遇到一个问题,是前端如何实现页面截图,第一反应就是响起了canvas,经过试验和总结,发现使用canvas可以实现屏幕截图,但是其实用性尚有局限,现进行阐述。

Framekiller与sandbox

Framekiller是一种web应用使用来防止应用页面在frame窗口内展示的技术。它通常被用来阻止第三方网站的frame窗口在未经允许的情况下就被加载,所以这也是防止点击劫持(clickjacking)的一种手段。本文将主要介绍Framekiller相关知识以及HTML5提出的沙箱隔离- iframe的sandbox属性。

HTML 之文档类型定义(DOCTYPE)

在编写HTML文档时,在html标签之前,我们都知道要加入声明,即DTD(Document Type Definition)声明。 声明不是 HTML 标签;它是指示 web 浏览器页面使用哪个 HTML或XHTML 版本进行编写的指令,浏览器才会使用合适的文档类型和方式来处理、解析网页。

HTML5 window.postMessage与跨域问题

在前一篇文章中,讲到浏览器同源策略,即阻止不同域的页面间访问彼此的方法和属性,并对解决同源策略跨域问题提出的解决方案进行阐述:子域代理、JSONP、CORS。本篇将详细阐述HTML5 window.postMessage,借助postMessage API,文档间可以以安全可控的方式实现跨域通信,第三方JavaScript代码也可以与iframe内加载的外部文档进行通信。

Web学习之跨域问题及解决方案

在做前端开发时,我们时常使用ajax与服务器通信获取资源,享受ajax便利的同时,也知道它有限制:跨域安全限制,即同源策略。同源策略(SOP),核心是确保不同源提供的文件之间是相互独立的。 默认情况下,XHR对象只能访问与包含它的页面处于同一域中的资源,这种限制可以预防某些恶意攻击,但同时也带来很多不便。本篇对于常见的解决浏览器跨域问题的方案进行总结阐述。

漫谈document.documentElement与document.body

在前端开发中,我们经常需要获取网页中滚动条滚过的长度,获取该值的方式一般通过scrollTop属性,如:document.body.scrollTop,是不是还经常看见document.documentElement.scrollTop,这两者都是经常用来获取文档滚动条滚过长度值的方式,他们又有什么区别呢?

HTML5之自定义上下文菜单实现

上下文菜单,通常表现为通过单击鼠标右键可以弹出一个上下文菜单。目前,所有浏览器都实现了默认的上下文菜单,为实现自定义上下文菜单,首先需要屏蔽相关默认上下文菜单,其后是确定以什么方式显示上下文菜单,在本篇,我们讲解Html5中的contextmenu事件并用其实现一个自定义上下文菜单。