网页抓取 加密html(段时间基本思路整理工作笔记之加密、解密的流程设计)

优采云 发布时间: 2021-12-16 10:03

  网页抓取 加密html(段时间基本思路整理工作笔记之加密、解密的流程设计)

  前言

  这段时间在训练整理工作笔记,突然发现有些内容不适合直接公开分享,但也希望能发表一下。想看的可以正常浏览。所以需要html加密访问。另外,考虑到加密后的共享内容不适合搜索引擎检索其文本,因此文本内容也需要进行加密。所以我在互联网上搜索了任何相关的技术实现文章。然后我找到了这些技术博客或在线工具:

  总而言之,虽然我找到了各种看似可用的实现,但是我并没有触及自己需求的痛点,所以我决定自己开发一个。

  基本思想

  其实我对接入的加密强度没有太多追求,我只需要以下几个特点:

  对于这两个需求点,可以混合使用以下两种加密方式来实现:

  页面加密和打包思路

  读取需要加密的html文件的具体标签内容,用base64+xor加密,塞到可以访问的模板标签上进行密码验证,删除密文标签,重新拼接模板标签进入新的html。具体流程看代码,也比较直观

  页面验证访问思路

  访问者打开加密的html后,加密标签上会显示密码验证界面。如果密码输入错误,浏览器会弹出提醒您。如果密码输入正确,解密后的文本标签outHtml会直接替换这个密码验证标签的outHtml,此时浏览器会自动加载文本内容

  密码验证思路

  核心思想是提供一个前缀字符串(prefix_str)作为判断依据,最终流程如下:

  加密/解密思路

  从html中提取出需要加密的text标签后,加解密的流程设计如下:

  1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

   html encrytion html decrytion

+--------------+ +--------------+

| | | |

|input html tag| |input html tag|

| | | |

+--------------+ +--------------+

| |

| |

| |

+-------v--------+ +---------v---------+

| | | |

| xor encryption | | base64 encryption |

| | | |

+----------------+ +-------------------+

| |

| |

| |

+--------v----------+ +-------v--------+

| | | |

| base64 encryption | | xor encryption |

| | | |

+-------------------+ +----------------+

| |

| |

| |

+------v--------+ +------v--------+

| | | |

|output html tag| |output html tag|

| | | |

+---------------+ +---------------+

  技术选型

  该工具基于nodejs技术栈实现。经过比较,选择了以下第三方库:

  实现后续迭代的代码

  由于我的博客目前是使用hexo发布的,所以需要将这个加密逻辑集成到一个hexo插件中。期间发现了一个同类型的插件hexo-blog-encrypt。这个hexo-blog-encrypt基本满足我的初步需求。,但是因为是我完成base64+xor加解密库和html加密打包工具后发现的,打算集成到hexo中,本着不断学习的态度,自己重新写了一遍。一个OMG,如果你有兴趣,去hexo-encrypted-package-html

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线