轩枫阁

首页 / 第4页

Subresource Integrity 介绍

01fb205530b1ec000000c500f4e833

GitHub 宣布启用 SRI 策略,用来减少由「托管在 CDN 的资源被篡改」而引入的 XSS 等风险。很多小伙伴对此表示关注。那么 SRI 究竟是什么,如何使用 SRI,它的适用场景和局限性是什么?本文逐一解答。

SRI 是什么?

SRI 是 Subresource Integrity 的缩写,一般按照字面意义翻译为:子资源完整性(草案),它也是由 Web 应用安全工作组(Web Application Security Working Group)发布。草案地址见这里

Web 性能优化中很重要的一点是让请求提前结束,让可缓存的资源走 CDN 是最通用的做法。CDN 服务提供商通过分布在各地的节点,让用户从最近的节点加载内容,大幅提升速度。但是 CDN 的安全性一直是一个风险点:对于网站主来说,让请求从第三方服务器经过,由第三方响应,安全方面肯定不如自己服务器可控。

我们知道 CSP(Content Security Policy) 的外链白名单机制可以在现代浏览器下减小 XSS 风险。但针对 CDN 内容被篡改而导致的 XSS,CSP 并不能防范,因为网站所使用的 CDN 域名,肯定在 CSP 白名单之中。这时候,SRI 就应运而生了。它通过对资源进行摘要签名机制,来保证外链资源的完整性(不被篡改)。

目前支持 SRI 的浏览器有 Chrome 45+FireFox 43+。IE Edge 表示考虑中,将其列入了需求池,接受用户投票。CanIUse 网站目前尚未提供 SRI 支持度数据,但是已经有人提了 Issue,后续应该会加上。 查看全文

2016/12 12  周一

piano-play 基于html5的钢琴导航弹奏游戏

piano

前言

相信很多人对轩枫阁的导航交互会印象深刻,可以通过键盘,自定义节奏,弹奏出动听的曲子,是一种指尖上的艺术。

目前已经将主要代码抽出成组件,可以自定义开发。

体验

查看全文

2016/12 11  周日

JavaScript装逼指南

01d5195530b1fa0000003ccececdd2

如何写JavaScript才能逼格更高呢?怎样才能组织JavaScript才能让别人一眼看出你不简单呢?是否很期待别人在看完你的代码之后感叹一句“原来还可以这样写”呢?下面列出一些在JavaScript时的装逼技巧。

1. 匿名函数的N种写法

你知道“茴”的四种写法吗?ε=(・д・`*)ハァ… 扯淡,但你或许不知道匿名函数的好几种写法。一般情况下写匿名函数是这样的:

但下面几种写法也是可以的:

  • !function(){}();
  • +function(){}();
  • -function(){}();
  • ~function(){}();
  • ~(function(){})();
  • void function(){}();
  • (function(){}());

当然,这样的写法,没有什么区别,纯粹看装逼程度。 查看全文

2016/12 08  周四

JavaScript Source Map 详解

01c0795530b1ec000000c50078ae74

前言

jQuery 1.9版本,开始支持Source Map。

bg2013012203

打开http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js,打开压缩后的版本,滚动到底部看最后一行:

这就是Source Map。它是一个独立的map文件,与源码在同一个目录下,点击查看

这是一个很有用的功能,本文将详细讲解这个功能。 查看全文

2016/12 03  周六

CSS3动画性能

01e8c4553dbb500000004850e77de3

CSS动画属性性能

  • CSS动画属性会触发整个页面的重排relayout、重绘repaint、重组recomposite
  • Paint通常是其中最花费性能的,尽可能避免使用触发paint的CSS动画属性,这也是为什么我们推荐在CSS动画中使用 webkit-transform: translateX(3em) 的方案代替使用 left: 3em ,因为left会额外触发layout与paint,而webkit-transform只触发整个页面composite

查看全文

2016/11 15  周二

纸飞机许愿

x

钢琴节奏

请选择弹奏的曲谱

    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 1
    • 2

    [返回曲谱列表]