在后端把网页的中文字都加密,到了浏览器,用JS解密显示

51次阅读

共计 1702 个字符,预计需要花费 5 分钟才能阅读完成。

在后端把网页的中文字都加密,到了浏览器,用 JS 解密显示
要实现这样的效果
有什么好的解决方案?

有用吗?密钥还不是要放在前端里,掩耳盗铃罢了换一套映射字体

michael007 发表于 2022-12-19 17:48
不是反爬虫,是为了过防火墙
你一些敏感字,过防火墙,被检测到,很快域名就被封了,IP 被封了。

上个证书使用 HTTPS 加密传输内容啊,墙看不到的传输明文的,只有客户端解密之后能看到,楼主这种情况只有使用 http 明文传输的情况才会发生动态字体加密,,有个海运的网站就是动态字体加密,楼主,你要是愿意研究的话,请去搜索一下 service worker,很好实现这种效果,
就是用 sw 接管所有流量,作为流量劫持服务,每次收到回复后解密再返回,很好用很好用

HOH 发表于 2022-12-19 16:32
有用吗?密钥还不是要放在前端里,掩耳盗铃罢了

有用的,这样可以避免被防火墙检测到中文字一般不是一组账户密码对应一组密匙吗?问 ai 更快在后端把网页的中文字都加密,到了浏览器,用 JS 解密显示base64 我就服大众点评的,你们看看他那个效果,采集都采集不到只要是前端浏览器解密的都没啥用。。。。不如换字体

whl32 发表于 2022-12-19 16:40
我就服大众点评的,你们看看他那个效果,采集都采集不到

什么老黄历了,图片化而已,截图 OCR 搞定楼主,你要是愿意研究的话,请去搜索一下 service worker,很好实现这种效果,
就是用 sw 接管所有流量,作为流量劫持服务,每次收到回复后解密再返回,很好用很好用你直接编码一下不就得了

HOH 发表于 2022-12-19 16:43
什么老黄历了,图片化而已,截图 OCR 搞定

OCR 效率很低没必要,你网站内容很值钱嘛,你加密的内容越多越容易被破解,而且加解密需要成本的。换一套映射字体有 20 多种方案可以实现动态字体加密,,有个海运的网站就是动态字体加密,有偿同求既然到了前端 js 解密之后还是要显示,用 puppeteer 这类支持 ajax 的方案来作爬虫就可以直接爬你解密显示以后的 HTML 了。你加密有什么意义?

dvbhack 发表于 2022-12-19 17:38
既然到了前端 js 解密之后还是要显示,用 puppeteer 这类支持 ajax 的方案来作爬虫就可以直接爬你解密显示 …

不是反爬虫,是为了过防火墙
你一些敏感字,过防火墙,被检测到,很快域名就被封了,IP 被封了。
这样加密后,防火墙检测不到,我觉得防火墙不会去运行 JS 看最终结果,那样去运行 JS 的话,防火墙会不堪重负。

michael007 发表于 2022-12-19 17:48
不是反爬虫,是为了过防火墙
你一些敏感字,过防火墙,被检测到,很快域名就被封了,IP 被封了。

上个证书使用 HTTPS 加密传输内容啊,墙看不到的传输明文的,只有客户端解密之后能看到,楼主这种情况只有使用 http 明文传输的情况才会发生

叼爆小朋友 发表于 2022-12-19 17:55
上个证书使用 HTTPS 加密传输内容啊,墙看不到的传输明文的,只有客户端解密之后能看到,楼主这种情况只有 …

墙是看不到明文,但是墙不会自己去访问吗

chxin 发表于 2022-12-19 19:03
墙是看不到明文,但是墙不会自己去访问吗

墙自己去访问的情况,ajax 加载并显示明文,和 ajax 加载并解密显示密文,效果没差异。
对访问者来说,都是动态内容显示。加不加密的,反正都是你自己处理,对访问者无感。思路很简单,
后端提供两个接口:
接口 A:返回加密后的密文(明文 -> aes-256-cbc -> base64)
接口 B:返回加密使用的密钥(根据需要,返回 key + iv 或者只需要 key)
前端 js(可以使用 crypto-js):
const 密文 = fetch(接口 A);
const key = fetch(接口 B);
const 明文 = 解密 (atob(密文), key); // 解密对应地使用 aes-256-cbc 算法
然后把明文插入到 DOM 结构中显示。
复制代码
实现示例:https://demos.axum.dev/enc.html 第一次听说这个防止高墙的
不够使 ssl 加密一下就完事了吗 这么费劲 next.js 解君愁

正文完
 0