针对敏感站点之降低污染几率的实现思路【已实战】
**前提是不在乎站点的搜索引擎友好性。**------
### **技术手段:**
- **数据加密传输** —— 最基本的HTTPS一定要有,加密传输随便套一个简单的base64也算加密了,反正就是确保站点数据在前后端传输时不是明文传输的。
- **源代码混淆** —— 采用JS混淆、压缩、动态加载等方式,提高代码可读性的门槛,减少解析风险。
- **随机动态渲染** —— 结合空字符、HTML注释、动态DOM生成等冗余沉淀垃圾代码(是垃圾但是也不要过于垃圾,不然影响效率),目的就是为了让页面结构具备高度随机性,干扰爬虫识别。
- **CSS文本处理** —— 通过CSS实现文本倒置、镜像翻转等样式操作,使常规文本分析工具难以准确解析内容,例如这个文本“APPLE”,源代码中把词语切割成字母:
```html
<span style="unicode-bidi: bidi-override; direction: rtl;">E</span>
<span style="unicode-bidi: bidi-override; direction: rtl;">L</span>
<span style="unicode-bidi: bidi-override; direction: rtl;">P</span>
<span style="unicode-bidi: bidi-override; direction: rtl;">P</span>
<span style="unicode-bidi: bidi-override; direction: rtl;">A</span>
```
然后通过CSS的flex-direction: row-reverse;让最终实际渲染是“APPLE”。
**额外措施:**
CDN+反代 —— 选个国内小型CDN厂商(特殊渠道购入),再部署个香港线路VPS作中转,毕竟现在白名单最严重的泉州也没有ban香港,
**实战效果:**
我自己简单部署了网站实战了两个月,只有宁夏地区出现屏蔽情况。图就不放了,可以移步:
https://t.me/BeWaterBro/12
**一些问题:**
上面方案能够有效规避大部分传统屏蔽机制,但是国内有些浏览器是带OCR识别的,所以遇到这种情况上面方法几乎无效。
针对OCR的对抗策略目前我暂时没想到,但是可能以后顺着这些方向研究:
更复杂的文本处理方式(字体混淆、SVG渲染)
背景干扰图层(降低OCR识别精度,但是用户观感就不友好了)
基于Canvas或WebGL的动态绘制(让文本非静态)
如果有更好的思路欢迎大佬留言!
页:
[1]