通过代码重用攻击绕过现代XSS防御
XSS已有近二十年的历史了,但它仍然是Web上最常见的漏洞之一。因此,已经发展了许多机制来减轻漏洞的影响。我经常会误以为这些机制可以作为针对XSS的保护。今天,我们将了解为什么情况并非如此。我们将在代码重用攻击领域探索一种相对较新的技术
图片格式区别:png8,png24,jpg,jpeg,gif,webp
色彩丰富的、比较大的图片切成jpg格式,例如一些网站的banner图,WEBP因为体积小,正在被大量网站使用。网站加速的内容一半包含了WEBP这种格式,但是写代码必须考虑部分不支持webp,比如苹果系统的Safari浏览器就不支持。
npm使用国内淘宝镜像的方法
npm的服务器在国外,拉取npm包的列表、下载包这个过程会比较缓慢。凡是包管理工具基本都有这个问题,例如maven、pip等,这些问题都可以通过配置镜像来解决。阿里巴巴提供了maven库,清华大学有pip源
移动web真机调试-Browsersync
BrowserSync能让PC、各移动设备使用各种浏览器的页面同时实时地响应文件的更改,而不用刷新操作。而且,当在其他一个设备上进行点击等行为时,该行为也会同步到其他浏览器中
当你在工作中失去动力时该怎么办?
在思考工作的时候,我们大多数人首先会想到,它伴随着危险,我们希望自己可以放弃它。但是,你还记得你第一次开始工作时的美好时光、那种感觉和紧张吗?那时候在你内心涌动的工作态度和动力是无可匹敌的
JavaScript中双叹号(!!)作用
a默认是undefined。!a是true,!!a则是false,所以b的值是false,而不再是undefined,也非其它值,主要是为后续判断提供便利。!!一般用来将后面的表达式强制转换为布尔类型的数据(boolean),也就是只能是true或者false;
面向对象的反思
在面向对象的设计中,系统是由对象和让对象状态发生改变的方法,让对象到达另一种状态来达到目的的。当系统渐渐变大,对象渐渐变多,每个对象间的纠缠越来越多的时候一个对象的状态受到多个控制信号的机会就越来越多
TypeScript never 类型
在类型理论(数学逻辑中的一种理论)中, 底部类型 是没有值的类型。也称为零或空类型,有时用 falsum(⊥)表示。 数学理论与计算机的发展是相辅相成的,底部类型在计算机科学中也有一定的应用场景。
一个 Vue 模板可以有多个根节点(Fragments)?
如果我们试图创建一个没有根节点的Vue模板,比如这样:通常,我们通过在最外层包裹一层 div 来解决这个问题,但这个div元素一般没有啥使用,就是让模板符合单根需求。