想到一个前端加密对付爬虫的方案,不知道有没有可行性

49 天前
 renmu
在一些关键接口增加前端加密,加密代码由服务端返回,代码混淆人类无法正常读取。



这时候制作爬虫的一般会选择采用 eval 执行来获取加密后的参数,可以尝试在这段加密的代码中投毒,包括但先不限于删库等操作
2683 次点击
所在节点    程序员
34 条回复
fpk5
49 天前
恭喜你重新发明了木马
hronro
49 天前
你说你要投毒, 你怎么区分正常用户和爬虫? 还是说你正常用户也投毒?

另外 JavaScript 虚拟机的一大优势就是 sandbox 隔离, 你说的投毒, 其实基本不太可能能成功
phrack
49 天前
确实是个攻防手段。不过魔也可以高一丈,sandbox 你这段代码就行了
drymonfidelia
49 天前
想太多了,专业的爬虫团队都是上 AST 直接分析语法树提取算法,根本不可能执行你的代码
streamrx
49 天前
没有用 只要逆向的收益足够大 就 100%会被破解。没有任何方法能预防 各种手段都只是增加逆向的难度罢了
renmu
49 天前
我知道 sandbox 可解,但只要成功一次就足以恶心到人
算法是由服务端返回的,目的就是诱导爬虫使用 eval 执行代码,绝大多数爬虫是不会每天分析你的算法的
heliumjt
48 天前
我自建的一个 RSS 源就是直接 eval 了__NUXT__全局变量来获取数据,确实担心过安全风险。不过是大公司的网站,应该没问题……的吧?
kdwnil
48 天前
恶不恶心爬虫我不知道,但我知道万一检测组件出 bug 导致翻车会恶心到普通用户,还会有机会触发一个叫入侵计算机系统罪的口袋。与其花大成本折腾自己可能找个靠谱的律所到处发函更实在……
renmu
48 天前
@heliumjt 我也是这么干的(笑)
cherryas
48 天前
想像里什么都有,动态加密+动态混淆+各种环境检测+代码量大到人类无法正常读取,基本都是知名的专业安全团队才能做到。
dhb233
48 天前
反爬没有一劳永逸的办法。你不管怎么做,如果有足够的利益,人肉爬数据你怎么防?
renmu
48 天前
@dhb233 我只是随便提了一种方法,使用沙盒就能处理这个方案,标题也没写“一劳永逸防爬虫”
Motorola3
48 天前
没屁用 防一防脚本小子
lichdkimba
48 天前
无头浏览器直接取页面上显示的不就行了
dhb233
48 天前
@renmu 我也没说这个方法不行啊。。。爬虫和反爬虫是互相对抗的,能不能防住,得上了才知道,你哪知道别人在用什么技术爬你的网站。就算今天能防住,可能明天又防不住了
weeei
48 天前
知乎使用特殊字体反爬虫,眼睛看的内容是正常的,爬下来的文本是乱序的,使用特殊字体控制能正常渲染。
devswork
48 天前
控制浏览器 + OCR (结构识别),怎么对付?
proxychains
48 天前
css 漂移?
eber
48 天前
@devswork 你这个方案更狠,我想了一下好像无解!!!😂
seWindows
48 天前
逻辑炸弹 2.0 版本?

如果检测组件出 bug 导致翻车会恶心到普通用户,起码会被曝光:“安全警告:xxxx 网页挂病毒木马,大家不要访问"。等等

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1025585

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX