Hexo博客文章加密

痛点

很多时候,我们写的部分博客和文章是不希望别人看到的(比如一些个人的总结之类),所以对这些文章进行加密,提供密码才能访问是个不错的方式。下面会介绍两种不同的实现方式:

  1. Nginx授权访问;
  2. Hexo-Blog-Encrypt;

Nginx授权访问

前置条件:你的Hexo博客搭在Nginx服务器;

  1. 安装htpasswd插件:
    sudo apt-get install apache2-utils
  2. 创建密码文件,密码文件的路径path可自定义,但要与之后的Nginx配置中保持一致,
sudo htpasswd -c /path/htpasswd username
New password: 
Re-type new password: 
Adding password for user username
  1. 配置Nginx服务器:

特定访问目录加密处理,location后面的路径是你想要加密的文件或文件夹的路径,具体可通过你Hexo生成的public文件夹查找。

        server{
                listen 80;
                server_name www.oneonecity.com www.oneonecity.cn;
                root /var/www/blog/public;
                index index.html ;
                charset utf-8;
                access_log logs/access.log;
                error_log logs/error.log;

                location /webHook {
                        proxy_pass http://127.0.0.1:7777;
                }
# 特定访问目录加密处理,location后面的路径是你想要加密的文件或文件夹的路径,具体可通过你Hexo生成的public文件夹查找:
                location ^~/1991/08/07/{
                        auth_basic "Please input your name and passeord:";
                        auth_basic_user_file /path/htpasswd;
                }
        }
}
  1. 重新载入Nginx配置文件使之生效:
    sudo service nginx reload

  2. 访问加密文件进行验证。

Hexo-Blog-Encrypt

以下内容来自该插件的中文说明文档,详见github。

安装

在 hexo 根目录的 package.json 中添加 "hexo-blog-encrypt": "1.1.*" 依赖。
然后执行npm install 命令。
该插件会自动安装

快速开始

  1. 首先在 _config.yml 中启用该插件:
# Security
##
encrypt:
    enable: true
  1. 在你的文章的头部添加上对应的字段,如 password, abstract, message
---
title: hello world
date: 2016-03-30 21:18:02
tags:
    - fdsafsdaf
password: Mike
abstract: Welcome to my blog, enter password to read.
message: Welcome to my blog, enter password to read.
---

其他

除了以上两种之外还有一种方法,比较简单,是通过弹窗阻止页面渲染的方法实现,但是比较容易破解,感兴趣的朋友可以了解下,传送门

你可能感兴趣的:(Hexo博客文章加密)