网页抓取 加密html(js阻塞机制来实现文章密码访问,谈谈这种方式的不安全)
优采云 发布时间: 2021-10-17 05:00网页抓取 加密html(js阻塞机制来实现文章密码访问,谈谈这种方式的不安全)
很多hexo用户都使用了js阻塞机制来实现文章密码访问,这里就是这种方法的不安全性。
前言
昨天突然想用博客写点生活的散文,又只想让自己看。设置访问密码应该是一个不错的选择,但是hexo生成的博客是纯静态的,不如WordPress等动态博客方便。设置密码。于是上网搜了一下,发现有网友用js对文章进行了简单的加密访问。原文在这或者直接看我搬过来的部分:
可以看到,这个加密使用了js的阻塞机制:
当警报(); 在页面中调用函数,整个页面将停止运行,页面中的代码将不会继续执行,直到您单击“确定”。我们这里需要的也是这样一种错觉,防止整个页面的渲染,直到你输入正确的密码才能让页面继续渲染实际的文章。但是alert只有提醒功能,没有输入功能,所以这里使用promt功能。
阻止页面渲染
但后来又想,这个方法是不是太容易被“破解”了。通过阻止页面渲染来实现“加密”,并不意味着无法访问页面的源代码(毕竟这个脚本中的密码是明文写在源代码中间的),在这种情况下,我们可以通过网页的源代码看到密码吗?
完成
这里关联的是Linux下的curl工具浏览网页时直接显示网页的源代码,所以直接传
1
curl -L www.iots.vip (已加密的文章地址) # 这里的 -L 是解决部分网站 30X 跳转的问题的
回车查看
可以看到密码是用纯文本表示的。
当然,类似chinaz等站长工具中的爬取指定页面等功能,也可以查看网页的源码。关联
后记
可以看出,这种加密方式是非常不安全的(其实如何加密静态网站没有多大意义),真正安全的方式是在网站的服务器端访问添加认证@> 步骤。(网上有很多这样的教程,也很容易搜索到,比如Apache认证访问,Nginx认证访问等关键词),所以一些重要的或者隐私的东西不要用这种方式加密。有一个详细的 可怕的问题是,这种加密方法对搜索引擎也是无效的,因为它抓取了源代码。因此,需要在robots.txt中限制对特定网址或目录的抓取,是的。