记一次加密网页html的研究

某次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进制编码(有分隔符):

 

接着想弄个密码输入框,输入正确密码才显示。

思路是 php端把真实网页des加密,http传输,网路传输的只是一个大变量字符串
必须des 用密码解密才能知道,这个des加密好处是可以网络加密传输数据,虽然http是透明的,但内容可以加密码锁数据,别人看到的就是一堆乱码html,不知道实际数据, des虽然比较弱,但破解不是那么简单的

浏览器访问网页,先输入密码,解密,成功则显示真实网页

 

其实还有其他编码还有什么压缩编码,我也不怎么清楚,而且要动态输出html,我用的php要和js配套才行,一方加密一方解密,不匹配或没有适合的编码,就无法完成。

 

结语:这种加密纯属本人无聊研究,只是web服务器输出html加了一层密,客户端接收后js动态解码输出,虽然右键查看不到代码,但浏览器开发者工具会显示运行后的html代码,一览无余了。适合那些不想让爬虫看到的网站。爬虫爬到的数据是加密后的乱码,除非有爬虫仿浏览器能运行js。这种加密后的网站爬虫估计会非常不友好。因为爬虫无法识别,不知道你网站标题内容,连接图片,但是一番研究变异编码对网页也有了更深的理解和认识了。

 

完。

欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果。

 

转载于:https://my.oschina.net/simawei/blog/1490385

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值