[有趣的问题] 关于前端请求,后端服务如何做到只响应当前站点的请求。类似于如何防爬虫...。

2021-12-06 22:23:19 +08:00
 loveyou1

今天一个小伙伴问我:如何才能让请求能不能不饶过当前站点,比如:node 模拟当前站点的请求,是不被站点服务允许的。

我想了想:但是似乎并不行。

大佬们对这个问题有配方吗?剧毒那种 ^__^。

4780 次点击
所在节点    JavaScript
71 条回复
loveyou1
2021-12-07 15:46:03 +08:00
@aino 无趣
loveyou1
2021-12-07 15:46:47 +08:00
@Kinnice 这业务,银行内部系统都没到这个程度吧😄
Kinnice
2021-12-07 15:50:48 +08:00
@loveyou1 想一下 ATM 机
指定的输入手段
不知道 url
无法调试
无法抓包(或者是抓包与真实业务无关)
无法反编译
loveyou1
2021-12-07 15:51:41 +08:00
@yaphets666 我一直对于人机验证存在质疑,人机验证的过程需要调接口或者前端创建,人机验证的结果是去调接口,我为啥不能直接绕过这一步。
比如:
数字验证码,如果是前端生成的,那一点意义没有,我直接就可以绕过,如果后端返回的,我从接口里面也可以拿到,然后绕过去。
滑块验证码,人机验证码,不是类似吗
我觉得有用的是,后台直接返回一个图片,前端可能难一点的需要通图像识别去做,或者短信是最靠谱的,但是有成本。
yaphets666
2021-12-07 15:55:36 +08:00
@loveyou1 验证码当然不是前端生成的,是后端返的,而且验证码确实是图片.
上面大佬们说的很清楚的,什么方法都有破解的办法,只是增加成本.
比如说你说的图像识别,我可以给图片加干扰项,并且的各种各样的干扰每隔一段时间就换一种,你就得一直修改程序.
但是我作为官方,比如说淘宝,我可承受的成本是比你大的多的.所以你爬不了淘宝的东西.
lakehylia
2021-12-07 16:04:11 +08:00
@2i2Re2PLMaDnghL 验证码搞个高数题或者微积分题,你总不能雇几百个数学很好的大学生吧
0o0o0o0
2021-12-07 16:22:55 +08:00
@loveyou1
验证码就是人机验证的一种啊。。。
前端生成或者后端返回基本没人这么做吧。。。
都是要把结果返回到后端进行验证。
loveyou1
2021-12-07 16:30:43 +08:00
@0o0o0o0 对啊,这个返回结果这个过程是透明的呀,
nekoneko
2021-12-07 16:45:02 +08:00
@dxxzst #29 跨域这玩意儿只是浏览器帮你检查,写服务,脚本直接调你 api 跨域一点用都没有
agui2200
2021-12-07 17:42:48 +08:00
fingerprintjs 可以识别一丢丢
pkoukk
2021-12-07 17:54:04 +08:00
如果是小网站,想一个别人都没用过的奇葩手段,增加反爬成本就行了。
上面猫眼那个 css 加密想法就不错,
之前站里有个老哥弄过图片加密,好像是把 js 文件伪装成图片放到 cdn 上,收到图片之后再重新解析回 js 加载。
搞点这种类似的东西,只要你没有特别大的价值,就没人闲的没事爬你了

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

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

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

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

© 2021 V2EX