使用JavaScript加密转化技术将Html变为密文,以此保护html源代码,这便是Html源码加密。
同时,这种加密技术还可实现网页反调试、防复制、链接加密等功能。
什么情况下需要Html源代码加密?
Html源代码加密可用于哪些场景?
Html源代码加密可用于以下需求场合:
Html源代码保护;防内容爬虫、防分析、防嵌套、防内容复制。使Html代码不会轻易被他人获取。
Html源代码加密,可以实现哪些功能效果?
Html源代码加密,可以实现以下效果:
加密的Html源码、加密的页面链接;禁用JavaScript时页面不渲染、禁止右键、禁止ctrl+c、ctrl+v、禁止iframe嵌套,等。
以下进行一次Html加密实操。
测试html代码:
<html>
<head>
<title>Html源代码加密</title>
<meta name="description" content="JShaman Html网页源码加密" />
<meta name="keywords" content="Html加密、网页源码加密" />
</head>
<body>
<h1>
Html加密、网页源码加密
</h1>
<a href="https://www.jshaman.com" target="_blank">JShaman.com</a>
<script>
alert("test");
</script>
</body>
</html>
使用JShaman的Html源代码加密:https://www.jshaman.com/enhtml/
加密功能启用:僵尸元素植入、链接加密、SEO优化、JS混淆加密。
这几项功能的说明如下:
僵尸元素植入:
给页面中随机插入div、span、p等元素,形成新的节点,这些节点中包含内容,但不显示、不影响页面布局。
由于其真实存在,因此会对DevTool(浏览器开发者工具)造成干扰,使用无法从“DOM和样式探查器”中直接复制页面内容。
链接加密:
对网页中所有链接(“a href”语句)进行加密,隐藏链接地址。
以此防止链接被获取、防止爬虫根据链接获得其它页面地址。
SEO优化:
使加密后的Html代码中包换与原页面相同的title、keywords、description,及全页面渲染后展示的文字内容。
以此增加页面对搜索引擎的友好性,使网页更容易被收录,并有排名优化效果。
JS混淆加密:
对Html编码后的JavaScript代码进行混淆加密,使代码无法阅读、理解。
并且是混淆加密是多态特性,一次一结果,永不重复。
加密结果、加密后的Html代码:
加密后的Html与加密前一样使用,无任何区别。
加密效果
将其保存为Html文件后,打开查看效果:
1、首先,源码是密文状态, 是混淆加密过的JS代码,不会被人“查看源码”即得到Html源码。
2、加密的链接,链接虽然被加密(从源码中只能看到错误的链接地址),但不会影响链接的正常点击,这还是比较神奇的,如下图:
注:有人疑惑:从”查看器”中还是能看到“源码”,是不是没有起到加密效果呢?
这里需要澄清:开发者工具“查看器”中看到的内容,是Html代码经浏览器渲染的结果代码,不是源码,它是必须能被渲染出来的,如果加密代码不能渲染,页面也将不能显示。
而加密,首先必须保证的是加密后的html代码能正常使用。对吧?
其次,即使是渲染后的代码,其中链接也加密了、也有了僵尸节点、还包含了加密代码,等等。它跟原始的Html代码还是有不小差异的,依然保护着原始Html代码。
3、随机插入的僵尸节点,节点内容也是随机的。
4、用于SEO的节点内容,内容是原Html页面中的核心文字,它会使加密后的Html代码对搜索引擎收录依然友好。如下图:
而且title、description也是原样保留:
综上展示,简单总结:
Html源代码加密,有效、有用!不错。
tml网页源码加密
html网页源码能加密吗?能加密到何种程度?
某些时候,我们可能需要对html网页源码加密,使网页源码不那么容易被他人获得。出于这个目标,本文测试一种html加密方式。
提前透露:结论超出预期,似乎还实现了反爬虫。
首先来到网址:http://fairysoftware.com/html_jia_mi.html
由页面介绍可知,这是一种使用js和escape结合实现的html加密。
直接使用页面提供的例程,加密这一段html代码:
得到加密的html代码,如下图:
然后将加密代码粘贴到一个html文件中测试,如下图:
页面可以正常打开。查看网页源码,果然源码是加密的,如下图:
特别的惊喜之处是:
如上图所示,链接果然消失了。
即使用开发者工具查看,也无法得到链接地址,而原始未加密前的html代码中是有链接的,如下图:
那么消失了的链接,还能正常点击吗?
点击,链接可以正常打开:
虽然href链接隐藏了,但还能正常打开页面,功能完全正常。
测试结果既惊喜又意外,这样的html网页加密,效果还真是不错,值得一用。
业的JavaScript混淆加密:JShaman
JShaman轻量版功能详解
简介
JShaman轻量版是JShaman.com研发的专业JavaScript代码混淆加密产品,为平台形式。
具有保护效果强大、功能稳定、开放WebAPI、全自主技术等特点。
功能
JShaman轻量版目前具有18项混淆加密功能。
完整启用各功能时,保护效果如下所示:
保护前的代码:
配置:
保护结果:
以下给出各混淆加密项目的单独说明及保护效果。
1、局部变量名、函数名混淆
可对局部变量名称进行变形,赋以无意义、不规律的名称。效果如下:
保护前:
配置:
保护后:
2、全局变量名混淆、全局函数名混淆
与上相信,区别在于之前是针对局部变量,此处可处理全局变量。效果如下:
保护前:
配置:
保护结果:
3、成员函数加密
可对JavaScript内置语法方法进行加密,如console.log()中的log函数。
效果如下:
保护前:
配置:
保护结果:
4、数值常量加密
将数值常量变为运算表达式,效果如下:
保护前:
配置:
保护后:
5、二进制表达式混淆
将二进制表达式变形为函数调用表达式,效果如下:
保护前:
配置:
保护结果:
6、布尔型数值加密
对true、false值进行加密,效果如下:
保护前:
配置:
保护后:
7、字符串Unicode化加密
效果如下:
保护前:
配置:
保护结果:
8、Eval加密
对特定的语句进行Eval加密,效果如下:
保护前:
配置:
保护结果:
9、平展控制流
将函数中代码平坦化,并打乱代码显示顺序,效果如下:
保护前:
配置:
保护结果:
10、收缩控制流
将函数中符合条件的多行代码收缩为单行,形成逗号运算符语法,效果如下:
保护前:
配置:
保护后:
11、字符串阵列化
将代码中包含的字字符串集中放置到数组,效果如下:
保护前:
配置:
保护结果:
12、阵列字符串加密
字符串阵列化后生效,将阵列中的字符串内容进行加密,效果如下:
保护前:
配置:
保护结果:
13、虚拟机执行保护
将某些代码转为虚拟机OP指令,在虚拟机中执行,效果如下:
保护前:
配置:
保护结果:
14、代码压缩
去除回车换行、空格,压缩代码体积。效果如下:
压缩前:
压缩后:
15、反格式化
需要与代码压缩同时使用,如以下保护后的代码:
如果此代码被美化、格式化,将无法运行:
16、保留注释
默认保护后,会清除掉代码中所有注释语句,如需保留注释,则使用此项。
17、保留关键字
对指定名称的字符串、函数名、变量名不进行保护,效果如下:
保护前:
如不使用保留字功能,勾选以下选项:
保护结果:
如果选择保留关键字,并填入“abc”:
则保护结果成为:
注:保留字最多可设置255个。
*请认真填写需求信息,我们会在24小时内与您取得联系。