网页抓取 加密html(网站却是关键问题加密的措施均是治标不治本兼容的原因)

优采云 发布时间: 2022-02-20 10:07

  网页抓取 加密html(网站却是关键问题加密的措施均是治标不治本兼容的原因)

  网站作为网友获取信息的主要来源之一,基于Html5的建站服务和应用越来越多,但是Html5有个关键问题:

  网页中的资源(包括javascript、文本、图片等)可以通过非常简单的方式获取!

  目前,互联网上提供了各种javascript(简称js)的加密方式,主要通过混淆、Base64、去逻辑化等方式进行保护。且不说这样的加密是否安全,只是对于内部链接、文字、图片等相关数据,并没有合理的加密方式。一方面是因为js需要浏览器的javascript引擎才能完成执行,直接密码后的js是无法运行的,所以出现了上面的方法,只会耽误破解的时间。加密后的图文信息基本无法显示。有的网站为了防止用户获取网页信息,采取屏蔽右键、禁止复制等一系列措施。明显地,

  (一)javascript加密问题

  也许你会问,我的简单网站,javascript只实现了一点简单的网页效果,为什么要加密javascript源代码呢?这样的网站是没有必要的,但是如果你想在苦苦研发之后对一些网页效果收费怎么办?如果需要通过 HTML5 开发游戏怎么办?这时候,我们就不得不考虑javascript源代码加密了。未加密意味着游戏交互信息全部暴露,游戏第一天上线,第二天被抄袭。

  由于浏览器的执行方式,javascript加密后,必须在javascript引擎执行前完成解密,否则不会执行。显然,如何保证这一点成为javascript加密的核心问题。类似于 RSA、ECC、AES、DES 和 SM 等非对称和对称加密算法,解密是在安全环境中执行的。比如你用私钥解密javascript源代码,公钥加密javascript源代码存储在服务器上,说明私钥在用户浏览器中,基本就是在推车马前。换句话说,除非通过 ActiveX 控件构造和解密协议,否则无法保证安全性。然而,

  考虑到兼容性问题,最简单的解决方案是用javascript实现解密程序,然后解密密钥完全暴露,加密毫无意义。而且解密后的js公开了,解密方法也是已知的,无法保证javascript源代码的安全。因此,在兼容所有浏览器的情况下,需要实现以下几点来保证javascript源代码的安全性:

  1)解密javascript源码的解密算法是用javascript实现的,而用于解密的js只能通过去逻辑、混淆等方法简单加密公开。

  2)使用域名、手机号、电子证书等唯一标识来验证是否可以解密,即只有通过服务器的唯一标识验证后才能解密,否则不会被解密。由于域名和实名认证的唯一性,可以通过自认证或远程认证后解密。

  3)支持实时加密和随机加密。随机加密的目的是保证每次加密后的密文都不一样。实时加密的目的是保证 JavaScript 源代码可以实时更新。这样做的目的是让破解永远跟不上更新。

  (二)Web 内容加密问题

  目前大数据被屠宰,爬虫工具泛滥,任何原创基本没有任何保护措施。谁会花这么多精力诉诸法律手段?显然,对网页内容进行加密可以保证原创的属性,但也有一个问题,就是需要通过搜索引擎(如百度、谷歌等)推广的内容是不可接受的. 在解决了javascript加密问题的同时,也同时解决了网页内容的解密问题。对于网页内容加密,应满足以下几点:

  1)使用原创签名机制,使用哈希算法,如MD5、MAC、SHA等对内容进行有效签名原创,水印的使用非常不友好的方式。比如用一个唯一标识对一张图片进行签名,签名后的指纹存储在图片数据的最后n个字节中,那么图片就可以正常浏览了,可以用js来验证签名指纹。

  2)使用唯一标识符和密钥对网页内容进行加密。解密时,远程验证唯一标识符的签名信息。如果通过则显示,如果未通过则不显示。

  上述问题解决后,HTML5可以获得一个新的应用高度。下面介绍我国独立的杰林码网页资源加密系统。

  (三)杰林码网页资源加密系统

  Jelincode网页资源加密系统合理解决了上述加密和数字签名问题,并发布了js版本的解密程序和哈希算法,二次开发者可以基于该加密系统实现所有的想法。当然,1.0.0 版本刚刚发布。免费试用不提供加密的源代码。您可以通过网站【Jielincode Web资源加密系统】访问(直接访问),在首页完成加密。作为一个半开源系统,本系统不区分任何用户的内容,也不保存任何用户的网页资源和javascript源代码,加密时直接返回加密结果。该系统还具有以下特点:

  1)可以实时加密,同一明文每次加密后的密文都不一样。

  2)支持自定义加密密钥长度(不小于64字节,即不小于512位)和哈希值长度(1-n可以任意设置)。

  3)解密效率高,目前测试结果在24MB/s左右(视电脑配置而定)。

  4)JielinCodeDecryption_min.js 大小为 23KB,对服务器负载的影响相对较小。

  5)支持javascript、文本、图片等数据加密,加密后返回字节数组。

  6)远程回调验证方式可自定义,需要绑定唯一密钥的用户可自行开发。

  7)支持所有浏览器,包括微信小程序等。

  8)商业伙伴可以获得jar、lib、a、so等库,甚至源代码。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线