技术 2020-09-02
简介Domain Name System(域名系统),简称DNS,在域名和ip地址之间建立映射关系,让网民通过简单好记的域名即可访问互联网。域名域名是一串用点分隔的字符。点把域名分成若干个部分,从右往左分别是 根域名、顶级域名、子域名等。根域名:根域名在书写时通常会省略,大部分人甚至不知道它的存在。...
技术 2020-07-22
简介上一篇博客介绍了XSS攻击(Cross Site Scripting)的原理。常规过滤脚本等防范方式,不仅麻烦,而且消耗性能,易攻难守,容易出纰漏。那干嘛不制定一个白名单,只有在白名单的内容才能正常执行呢?这个白名单就是Content Security Policy(内容安全策略),简称CSP。...
技术 2020-06-14
攻击原理Cross Site Scripting(跨域脚本攻击),简称XSS,是web应用最见的攻击方式之一。攻击的前提有两个:1. 浏览器可以执行JavaScript代码(这不是废话吗)。2. 网页可以显示用户输入的内容。包括但不限于:根据url中的参数渲染网页、预览输入框写好的内容、留言板等其他...
其他 2020-05-06
不知不觉,坚持写博客三年多,积累了几十篇内容。伴随着自己技术的进步的,内容质量也逐渐提高。所有博客内容均出自原创,有参考到网上技术文档的地方,也必在文末注明参考文献。如有纰漏,欢迎邮件指正,定会虚心接受。写博客的目的,主要是装逼,因此每篇博客末尾都注明禁止转载。可是近来总在其他网站上看到整篇抄袭我博...
技术 2020-04-08
简介CSSStyleSheet用于查看和修改当前网页的CSS样式表。网页的样式离不开CSS样式表。以本网站为例,需要三个CSS样式表:bootstrap.css(基础库的样式)、site.css(自定义样式)、scroll-top.css(回到顶部插件的样式)。打开Chrome控制台,输入“docu...
技术 2020-02-29
HTTP/2简介二进制分帧(Frame)Http协议分为header和body两部分。在Http1.1中,header必定是ASCII编码的文本,body部分根据Content-Type来决定是文本还是二进制。而在Http2中,header和body都是二进制传输的,并且统称为“帧”(frame)。...
技术 2020-01-09
三个月前接手一个小程序项目,用户量大,交互复杂,性能一般。想法设法做了各种优化,取得了不错的效果,也在过程中收获了一些经验。昨天在公司内部做了一个技术分享,总结了一些优化经验,顺便整理为本文。提高加载性能典型的web类的应用,跑起来都需要3步:第一步,加载运行环境;第二步,下载代码;第三步,执行代码...
技术 2019-12-12
原理SSH不仅可以通过帐号密码登录,还可以通过非对称加密的密钥登录。原理如下:登录流程是典型的非对称加密应用。私钥一直都在客户端保存,不在网络上传输,不会被中间人窃取。公钥是可以公开的,只需要在服务端把密钥添加进去即可,整个过程不需要用到密码。实践Step1:客户端生成密钥对Linux用户可以用ss...
技术 2019-10-28
位运算基础位运算,就是直接对二进制位进行与、或、非等逻辑运算。位运算并不仅限于布尔类型的数据。Int类型数据在内存中也是以二进制数据进行存储的,位计算可以直接对整数在内存中的二进制位进行操作。举个例子,7的二进制是111,6的二进制是110,直接进行与运算“7&6”,相当于二进制进行与运算“...
技术 2019-09-21
为什么要有BigInt9999999999999999 === 10000000000000000 // true上述等式,返回true。如果代码里出现这种迷惑性的bug,排查起来会非常头疼。JavaScript中Number类型只能安全地表示-9...