HTML5 && CSS3 && ECMAScript5
文章平均质量分 65
SailingLee
这个作者很懒,什么都没留下…
展开
-
HTML5 Audio/Video 标签,属性,方法,事件汇总
<audio> 标签属性:src:音乐的URLpreload:预加载autoplay:自动播放loop:循环播放controls:浏览器自带的控制条<audio id="media" src="http://www.abc.com/test.mp3" controls></audio> <video> 标...原创 2011-12-31 10:10:14 · 364 阅读 · 0 评论 -
XSS 前端防火墙 —— 内联事件拦截
关于 XSS 怎样形成、如何注入、能做什么、如何防范,前人已有无数的探讨,这里就不再累述了。本文介绍的则是另一种预防思路。 几乎每篇谈论 XSS 的文章,结尾多少都会提到如何防止,然而大多万变不离其宗。要转义什么,要过滤什么,不要忘了什么之类的。尽管都是众所周知的道理,但 XSS 漏洞十几年来几乎从未中断过,不乏一些大网站也时常爆出,小网站更是家常便饭。预警系统 事实上...原创 2014-06-21 16:55:13 · 286 阅读 · 0 评论 -
XSS 前端防火墙 —— 可疑模块拦截
上一篇介绍的系统,虽然能防御简单的内联 XSS 代码,但想绕过还是很容易的。 由于是在前端防护,策略配置都能在源代码里找到,因此很快就能试出破解方案。并且攻击者可以屏蔽日志接口,在自己电脑上永不发出报警信息,保证测试时不会被发现。 昨天提到最简单并且最常见的 XSS 代码,就是加载站外的一个脚本文件。对于这种情况,关键字扫描就无能为力了,因为代码可以混淆的千变万化,我们看...原创 2014-06-21 17:02:59 · 230 阅读 · 0 评论 -
XSS 前端防火墙 —— 无懈可击的钩子
昨天尝试了一系列的可疑模块拦截试验,尽管最终的方案还存在着一些兼容性问题,但大体思路已经明确了:静态模块:使用 MutationObserver 扫描。动态模块:通过 API 钩子来拦截路径属性。提到钩子程序,大家会联想到传统应用程序里的 API Hook,以及各种外挂木马。当然,未必是系统函数,任何 CPU 指令都能被改写成跳转指令,以实现先运行自己的程序。无论是在哪个层...原创 2014-06-24 08:00:52 · 181 阅读 · 0 评论 -
XSS 前端防火墙 —— 天衣无缝的防护
上一篇讲解了钩子程序的攻防实战,并实现了一套对框架页的监控方案,将防护作用到所有子页面。到目前为止,我们防护的深度已经差不多,但广度还有所欠缺。例如,我们的属性钩子只考虑了 setAttribute,却忽视还有类似的 setAttributeNode。尽管从来不用这方法,但并不意味人家不能使用。例如,创建元素通常都是 createElement,事实上 createElementN...原创 2014-06-24 08:01:29 · 298 阅读 · 0 评论 -
XSS 前端防火墙 —— 整装待发
到目前为止,我们把能用前端脚本防御 XSS 的方案都列举了一遍。尽管看起来似乎很复杂累赘,不过那些是理论探讨而已,在实际中未必要都实现。我们的目标只是为了预警,能发现问题就行,并非要做到滴水不漏的程度。事实上,HTML5 早已制定了一套浏览器 XSS 解决方案 —— Content Security Policy,并且大多主流浏览器实现了这个标准。既然我们使用前端脚本重新实现一遍,...原创 2014-06-24 08:02:04 · 345 阅读 · 0 评论 -
font-size : Rem
CSS3的出现,他同时引进了一些新的单位,包括我们今天所说的rem。在W3C官网上是这样描述rem的——“font size of the root element” 。下面我们就一起来详细的了解rem。前面说了“em”是相对于其父元素来设置字体大小的,这样就会存在一个问题,进行任何元素设置,都有可能需要知道他父元素的大小,在我们多次使用时,就会带来无法预知的错误风险。而rem是相对于根元...原创 2014-06-29 10:04:07 · 995 阅读 · 0 评论 -
再说说seaj
记录刚刚在企鹅群里关于seajs的require和require.async的一段讨论过程。原创 2014-07-01 00:05:48 · 245 阅读 · 0 评论 -
JS、CSS以及img对DOMContentLoaded事件的影响
前端的纯技术就是对规范的认知什么是DOMContentLoaded事件?首先想到的是查看W3C的HTML5规范,DOMContentLoaded事件在什么时候触发:Once the user agent stops parsing the document, the user agent must run the following steps:1. Set the curren...原创 2014-07-10 10:57:12 · 298 阅读 · 0 评论 -
__defineSetter__、__defineGetter__、__lookupSetter__、__lookupGetter__
var t = { //主要是要注意这里的写法,没有':'也没有'function' get name(){ return this.x }, set name(x){ this.x = x }};//t.__defineSetter__("name",function(x){this.x=x})//t.__defineGetter__(...原创 2014-07-10 17:16:43 · 619 阅读 · 0 评论 -
IE7及以下浏览器应该可以不再提供支持了吧
IE7及以下浏览器应该可以不再提供支持了吧,毕竟现在win7系统默认安装的浏览器都是IE8起步。 数据说话 下图为2014年7月的数据:图片来自:http://www.cnbeta.com/articles/315461.htm 下图为2013年12月的数据: 图片来自:http://www.csdn.net/article/201...原创 2014-08-24 09:38:58 · 356 阅读 · 0 评论 -
Javascript运算符的优先级
Javascript:原创 2014-04-28 00:34:23 · 143 阅读 · 0 评论 -
浅谈XSS(二)
前面我们说到了反射性XSS的发掘,里面涉及了很多javascript的东西,也许有些孩童们看不懂里面的代码到底是什么回事。今天,我们就来认识一下什么是javascript。首先说之前要说明一点,javascript和Java半毛钱关系都没有,不要认为有一个Java就和Java有关,Javascript是一种由Netscape的LiveScript发展而来的一种客户端脚本语言。 在jav...原创 2014-06-21 16:48:00 · 174 阅读 · 0 评论 -
谈论XSS(一)
XSS 叫跨站脚本攻击(Cross Site Script),那么XSS原本应该叫做CSS,但是由于CSS的简称已经被连级样式表 使用了,所以就换个称谓XSS。 为什么叫做跨站脚本攻击呢?它的意思就是在别人的网站上嵌入脚本,而这个脚本原本不是属于这个网站的。这个解释很直观吧。怎么嵌入脚本呢?比如这么个搜索结果页,当用户搜索test的时候,页面会显示“搜索关键词:test”这个时候,这里的tes...原创 2014-06-21 16:41:16 · 121 阅读 · 0 评论 -
phonegap培训讲义
公司花钱让去做培训,有幸替代一同事去听,资料见附件。 听后感:800RMB花得很不值。这么基础的东西网络上一大把,完全没必要去上这样的培训,浪费时间浪费钱。唯一的好处就是那天可以不用上班。...原创 2012-05-02 10:05:29 · 97 阅读 · 0 评论 -
iphone webapp自动隐藏地址栏
如何隐藏iPhone Safari的地址栏设置这个属性(文档里面说有用,但是好像不太成功)<meta name="apple-mobile-web-app-capable" content="yes" />还有一种办法,页面加载完成之后滚动窗口,这个确实有效,唯一要注意的是页面高度必须够长,我一般设成device-height就没问题了:<script type=...原创 2012-06-30 12:28:29 · 1127 阅读 · 0 评论 -
Javascript design pattern
一直都在考虑这个月分享大家什么东西最好,原计划是打算写一些HTML5中JS方面的内容或者是AJAX方面的,可是自己由于表达能力,时间,还有个人工作方面的问题,这个还是等下个月再做分享吧^.^。 老规矩,开始正文以前先交代自己写这篇文章的目的和一些注意事项: 1.首先本人一直从事前端开发,所以除了JavaScript其他的语言了解不深,所以文章只会以JavaScript语...原创 2012-07-15 00:11:28 · 146 阅读 · 0 评论 -
分享一个适合学习canvas的案例
效果图:(看了你就知道是什么了)为什么说它适合学习canvas呢?因为代码量很少(200行),逻辑很清楚。下载地址:http://dl.iteye.com/topics/download/dc772eed-bf38-391a-9f3d-6ea655f143ca...原创 2012-04-11 17:49:36 · 139 阅读 · 0 评论 -
Object、Function、function Empty(){}
Object、Function、function Empty(){} 这三者有怎样的关系? Object.__proto__ === Function.prototype === Function.__proto__ === function Empty(){};Function.prototype.__proto__ === Function.__proto__.__proto_...原创 2014-05-12 23:39:46 · 137 阅读 · 0 评论 -
for... in遍历的顺序
虽然ECMAScript规定了对象的遍历顺序是由对象定义时属性的书写顺序决定的.(译者注:ES5已经对遍历机制做了调整,重新规定:属性遍历的顺序是没有被规定的), 大部分浏览器都依照这个规定,先添加的属性先被遍历(除了从原型上继承的属性)(译者注:Chrome和Opera已经遵循了ES5的新规定,具体请看). 但是, 在 Internet Explorer 中, 使用 delete 删除一个属性...原创 2014-05-14 11:40:27 · 2210 阅读 · 0 评论 -
再说prototype
直接看代码吧://写法一function A(){}var s = new A();A.prototype.title = "123";alert(s.title);//"123"//写法二function A(){}var s = new A();A.prototype = { title : "123"};...原创 2014-05-23 13:29:26 · 101 阅读 · 0 评论 -
js中如何封装模块
统一模块定义: function UMD(name, context, definition) { if (typeof module != 'undefined' && module.exports) module.exports = definition() else if (typeof define == 'function' && ...原创 2014-06-03 12:44:59 · 353 阅读 · 0 评论 -
js内存管理
简介低级语言,比如C,有低级的内存管理基元,像malloc(),free()。另一方面,JavaScript的内存基元在变量(对象,字符串等等)创建时分配,然后在他们不再被使用时“自动”释放。后者被称为垃圾回收。这个“自动”是混淆并给JavaScript(和其他高级语言)开发者一个错觉:他们可以不用考虑内存管理。内存生命周期不管什么程序语言,内存生命周期基本一致: 分配你...原创 2014-06-05 00:56:02 · 86 阅读 · 0 评论 -
正则再了解——test方法
不经意发现正则的test方法也会产生捕获结果。/(\w)(\w)/.test("acbd");alert(RegExp.$1);//aalert(RegExp.$2);//c倘若这样写:/(?:\w)(\w)/.test("acbd");alert(RegExp.$1);//calert(RegExp.$2);//"",ie可能为undefined...原创 2014-06-19 09:16:29 · 151 阅读 · 0 评论 -
Web安全漏洞简介之XSS
随着互联网流行,以及网站互动性的提高,像论坛、微博还有各种web2.0应用的兴起,很多网站都可以由用户或多或少的参与,可能很多的网站用户注册之后都可以评论、发帖等等。当然这些都是对正常向的用户来说的,如果是一个攻击者当然不会老老实实的发帖子之类的了。众所周知,现在看到的网页基本都是用html、javascript、css等技术在浏览器端展示的,所以如果一个黑客输入的不是正常的评论,而是一段ht...原创 2014-06-21 16:30:28 · 171 阅读 · 0 评论 -
发布`代码生成器`
闲话不说,直接上地址npm: https://www.npmjs.org/package/autocodegit: https://github.com/iamweilee/autocode原创 2014-11-17 00:45:47 · 260 阅读 · 0 评论