怎么用gitpages还能藏住秘密

栏目: 编程工具 · 发布时间: 5年前

内容简介:我们用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

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》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具