• DNS原理入门

    技术 2020-09-02

    简介Domain Name System(域名系统),简称DNS,在域名和ip地址之间建立映射关系,让网民通过简单好记的域名即可访问互联网。域名域名是一串用点分隔的字符。点把域名分成若干个部分,从右往左分别是 根域名、顶级域名、子域名等。根域名:根域名在书写时通常会省略,大部分人甚至不知道它的存在。...

  • CSP使用指南

    技术 2020-07-22

    简介上一篇博客介绍了XSS攻击(Cross Site Scripting)的原理。常规过滤脚本等防范方式,不仅麻烦,而且消耗性能,易攻难守,容易出纰漏。那干嘛不制定一个白名单,只有在白名单的内容才能正常执行呢?这个白名单就是Content Security Policy(内容安全策略),简称CSP。...

  • XSS攻击的原理及防范

    技术 2020-06-14

    攻击原理Cross Site Scripting(跨域脚本攻击),简称XSS,是web应用最见的攻击方式之一。攻击的前提有两个:1. 浏览器可以执行JavaScript代码(这不是废话吗)。2. 网页可以显示用户输入的内容。包括但不限于:根据url中的参数渲染网页、预览输入框写好的内容、留言板等其他...

  • 开了个微信公众号

    其他 2020-05-06

    不知不觉,坚持写博客三年多,积累了几十篇内容。伴随着自己技术的进步的,内容质量也逐渐提高。所有博客内容均出自原创,有参考到网上技术文档的地方,也必在文末注明参考文献。如有纰漏,欢迎邮件指正,定会虚心接受。写博客的目的,主要是装逼,因此每篇博客末尾都注明禁止转载。可是近来总在其他网站上看到整篇抄袭我博...

  • CSSStyleSheet:使用JS操作CSS

    技术 2020-04-08

    简介CSSStyleSheet用于查看和修改当前网页的CSS样式表。网页的样式离不开CSS样式表。以本网站为例,需要三个CSS样式表:bootstrap.css(基础库的样式)、site.css(自定义样式)、scroll-top.css(回到顶部插件的样式)。打开Chrome控制台,输入“docu...

  • 网站提速:Http2 & server push 实践

    技术 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步:第一步,加载运行环境;第二步,下载代码;第三步,执行代码...

  • 使用PublicKey免密登录Linux服务器

    技术 2019-12-12

    原理SSH不仅可以通过帐号密码登录,还可以通过非对称加密的密钥登录。原理如下:登录流程是典型的非对称加密应用。私钥一直都在客户端保存,不在网络上传输,不会被中间人窃取。公钥是可以公开的,只需要在服务端把密钥添加进去即可,整个过程不需要用到密码。实践Step1:客户端生成密钥对Linux用户可以用ss...

  • 基于位运算的权限管理

    技术 2019-10-28

    位运算基础位运算,就是直接对二进制位进行与、或、非等逻辑运算。位运算并不仅限于布尔类型的数据。Int类型数据在内存中也是以二进制数据进行存储的,位计算可以直接对整数在内存中的二进制位进行操作。举个例子,7的二进制是111,6的二进制是110,直接进行与运算“7&6”,相当于二进制进行与运算“...

  • 详解BigInt

    技术 2019-09-21

    为什么要有BigInt9999999999999999 === 10000000000000000  // true上述等式,返回true。如果代码里出现这种迷惑性的bug,排查起来会非常头疼。JavaScript中Number类型只能安全地表示-9...

TOP