JS加密的域名锁定功能,JShaman支持泛域名

JShaman的域名锁定功能,支持泛域名

JShaman的JS代码混淆加密中,有一项“域名锁定”功能。使用此功能后,代码运行时会检测浏览器地址中的域名信息,如是非指定域名,则不运行,以此防止自己网站的JS代码被复制他人的网站中使用的盗用行为。

此功能,使用非常灵活,支持多域名,且支持泛域名。

本文演示泛域名的设置方法及保护后的效果。

1、首先在本地搭建一个web服务器,以方便测试。

服务器用nodejs实现,监听80端口,收到请求时读取文件并返回,服务器代码:

JS加密的域名锁定功能,JShaman支持泛域名_第1张图片

2、使用本地host文件,解析两个子域名到本地,如下:

JS加密的域名锁定功能,JShaman支持泛域名_第2张图片

3、编写一个简单的html文件,包含两行js代码:

JS加密的域名锁定功能,JShaman支持泛域名_第3张图片

4、使用在hosts文件中设定的域名进行访问:

JS加密的域名锁定功能,JShaman支持泛域名_第4张图片

此时测试环境已准备好。接下来,进行正式测试。

5、将上面两行js代码复制到JShaman准备进行混淆加密:

JS加密的域名锁定功能,JShaman支持泛域名_第5张图片

在配置中,进行正确设置:

JS加密的域名锁定功能,JShaman支持泛域名_第6张图片

然后进行js代码的混淆加密:

JS加密的域名锁定功能,JShaman支持泛域名_第7张图片

加密后,将加密的代码复制回原来位置:

JS加密的域名锁定功能,JShaman支持泛域名_第8张图片

此时,再访问,混淆加密时设定了一级域名,用二级域名访问:

JS加密的域名锁定功能,JShaman支持泛域名_第9张图片

JS加密的域名锁定功能,JShaman支持泛域名_第10张图片

可见,两个子域名访问时,加密后的js代码都可以正确执行。

6、此时,再在hosts中新增一个本地域名解析:

JS加密的域名锁定功能,JShaman支持泛域名_第11张图片

再用此域名访问:

JS加密的域名锁定功能,JShaman支持泛域名_第12张图片

由图可见,web服务器后端已经收到请求,但浏览器无法打开页面,并会跳转到about:blank空白页面。

7、结论:域名锁定已生效。效果:在设定域名的子域名下,代码正常执行,页面正常打开。在非设定的域名下,js代码无法执行、页面无法打开。

你可能感兴趣的:(javascript,jshaman,js加密,js加固)