【原】记一次加密网页html的研究
来源:互联网 发布:java计数函数怎么用 编辑:程序博客网 时间:2024/06/11 18:56
某次web编程,思考着辛辛苦苦编写的web别人 右键查看源码不就一目了然了?当然有些人会把script写入外部js引入,但也只是增加了查看源码的步骤。我就想把整个页面html都加密下,只是右键查看时,看不出代码。那么是否可行?用哪种方法?
首先html代码的动态生成,而不是直接输出。就需要js的document.write,动态插入html神器啊!
那么接下来就是考虑编码问题了,如果直接 document.write("<html>....</html>"); 也是可以的但是这跟不加密没啥区别。但是我还是先用这种方法测试了下,遇到了点麻烦,web编程经常遇到的多个双引号导致的字符串错误问题。为了避免这种双引号问题,就必须用编码来绕过。
现在流行的已知编码就几种,比如json,base64.那就先用json来试试。
json编码 运行如下:
右键查看源码,可以看见代码至少按我的思路运行正常了,而且遇到双引号问题也不出错了。中文被json 编码了,html代码还是被看到了大部分。加密的效果起到了1%吧。
接着试试base64
base64编码 运行如下:
右键查看代码,可以看出html全部加密了,但是根据数据长短分段换行还是可以看出html结构。 这个还是单行调用。
下面 改成链式调用
代码已经完全看不出原来的结构了。哈哈
接下来尝试用2进制编码:
接下来尝试用8进制编码:
接下来尝试用10进制编码(顺便增加了点无用符号增强混淆):
接下来尝试用16进制编码(无分隔符):
接下来尝试用16进制编码(有分隔符):
其实还有其他编码还有什么压缩编码,我也不怎么清楚,而且要动态输出html,我用的php要和js配套才行,一方加密一方解密,不匹配或没有适合的编码,就无法完成。
结语:这种加密纯属本人无聊研究,只是web服务器输出html加了一层密,客户端接收后js动态解码输出,虽然右键查看不到代码,但浏览器开发者工具会显示运行后的html代码,一览无余了。适合那些不想让爬虫看到的网站。爬虫爬到的数据是加密后的乱码,除非有爬虫仿浏览器能运行js。这种加密后的网站爬虫估计会非常不友好。因为爬虫无法识别,不知道你网站标题内容,连接图片,但是一番研究变异编码对网页也有了更深的理解和认识了。
完。
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果。
- 【原】记一次加密网页html的研究
- [原]基于统计的中文网页正文抽取的研究
- 记一次Unity5的Assetbundle研究
- [原]基于体裁的中文网页自动分类的研究与实现
- [Html/JS]10刷新一次网页
- 网页的加密
- 原:PHP内核研究 函数的定义
- 原:PHP内核研究 函数的参数
- 自己整理的《网页设计与制作》语言,HTML总汇--从我的原博客中复制过来的
- HTML代码的加密
- html tidy的一次运用
- 【原】was的一次数据库连接不了的处理记录
- 提取网页的html
- 手机网页的HTML
- 网页不同分辨率的研究
- 一带病毒网页的研究
- 一次"现场调查"用户研究的感触
- 一次迭代式开发的研究 笔记
- Executors
- 电梯
- Xcode 出现 Signing ....... .dylib with codesign错误
- xadmin的安装和基础使用
- java开发环境搭建jdk+tomcat+eclipse
- 【原】记一次加密网页html的研究
- c++中字符串反转的3种方法
- DQN(Deep Q-learning)从入门到放弃笔记
- MySQL金融版线上发布会:它为什么是金融企业的首选_技术大佬、产品和神秘嘉宾本位“演绎”
- JSX语法入门(一)
- vue上传图片组件编写
- 「译」一篇非常不错的前端面试文章
- TLD跟踪算法(单目标)相关资料
- <a>标签做按钮使其无法跳转页面