内容简介:我们用gitpages写博客,但假设,你想把他当做笔记来使用,有些内容并不希望公开,别人看不了,只有你能看,该怎么办呢?最直接的,我们想到,需要输入一个密码,才可以看到相应的内容。但整个gitpages是全静态的。你的密码以及验证程序不可避免的明文下载到浏览器端。即使做一个js代码混淆,基本上还是掩耳盗铃。某天偶然发现一个叫static crypt的东西,他号称能用密码保护一个html。
我们用gitpages写博客,但假设,你想把他当做笔记来使用,有些内容并不希望公开,别人看不了,只有你能看,该怎么办呢?
最直接的,我们想到,需要输入一个密码,才可以看到相应的内容。但整个gitpages是全静态的。你的密码以及验证程序不可避免的明文下载到浏览器端。即使做一个js代码混淆,基本上还是掩耳盗铃。
某天偶然发现一个叫static crypt的东西,他号称能用密码保护一个html。 https://robinmoisson.github.io/staticrypt/ , 他基于 https://github.com/brix/crypto-js ,用 AES-256加密你的html文件,然后把加密过的内容发送到浏览器端,浏览器看到的是一个密码输入框,输入密码,解密,把解密后的html显示出来。大功告成!这个东西还提供命令行版本和npm模块支持。这就方便了我们和gitpages以及jekyll结合。
首先,确定什么东西是秘密的,不想让人看见,不能push到github的。
笔记原文
正常情况下,文章已md格式放在_posts 或 _drafts 下。但是我们的笔记,应该不能用原文md push到github上。不然人家直接去github看就好了。为了方便起见,我们在 _posts 文件夹下建一个s文件夹。方便加入 .gitignore 和脚本操作
秘钥
AES是对称加密方法。秘钥,也是我们在浏览器上看笔记时要输入密码,所以这个东西不能push上去简直是废话。
那如何做到不把这些东西放上去,我们还能在浏览器上看到我们的笔记呢?
1、首先,我们在网站的更目录里新建一个叫s的文件夹。方便我们找到所有加密过的笔记。
2、写一个脚本 crypt_posts.sh ; 首先这个脚本调用jekyll bilud。将我们的笔记md源文件编译成带样式的html;然后对这些html挨个调用staticrypt对其加密(秘钥也在这个文件里制定);再然后将加密生成的文件替换掉原来编译出来的带明文信息的文件。最后,在这个过程中,可生成一个index.html。 方便在访问${domain}/s 时提供加密文件的索引。当然,这个文件必须加入 .gitignore列表
3、额,没有第三步,好尴尬~
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Programming Ruby
Dave Thomas、Chad Fowler、Andy Hunt / Pragmatic Bookshelf / 2004-10-8 / USD 44.95
Ruby is an increasingly popular, fully object-oriented dynamic programming language, hailed by many practitioners as the finest and most useful language available today. When Ruby first burst onto the......一起来看看 《Programming Ruby》 这本书的介绍吧!