猿问

客户端直接显示id不是一种好方案,譬如/article/2,这样的话,爬虫从1-10000就可以爬取所有文章,应该hash一下

一般用什么hash方案呢?
md5嘛

侃侃尔雅
浏览 477回答 14
14回答

哆啦的时光机

只要公开的都有办法爬,包括含登陆验证的

侃侃无极

建表的时候处理下 id,hash(随机字符串就好,6-8位) id只给内部用,不要返回给前台,前台使用hash读取文章

慕森卡

基本想要爬你的话,你怎么hash都没用。

开心每一天1111

还 hash ,你哪里看的文章乱写的啊 -_- hash 之后,你自己都无法知道原来的 id 是什么啦。 如果要非可预测性的主键,成熟方案是使用 uuid 。 当然,你不怕麻烦,专门拿一列存一个 showId ,它是“非可预测值”(这个值可以是 id 的 hash ,加 salt)。

一只萌萌小番薯

设置不规则ID,只能增加爬虫难度,没办法杜绝。爬虫会从上级列表页面获取文章连接。所以说这个问题基本杜绝不了

慕尼黑5688855

你经过一番折腾后找到了方案,比如hash了下,那么用户从列表页点进来是hash过的链接,难道爬虫就不能从列表页进来?

烙印99

不需要的,你能想到的,爬虫都想到了。你想不到的,可能爬虫也想到了。。。

慕工程0101907

如果ID是连续的,恶意用户的扒取工作就非常容易做了,直接按照顺序下载指定URL即可;如果是订单号就更危险了,竞对可以直接知道我们一天的单量。所以在一些应用场景下,会需要ID无规则、不规则。

慕姐4208626

没什么用的,你在id上做手脚就像是你在队伍中不断的换个帽子,别人还是能从队伍找到你,一般都是在页面上做功夫,比如简单的有源码混淆,前台用户看不出来,但是采集用的有头无头浏览器都是得到的源码,这样就提升了难度.只有难度大于收益,才能让爬虫放手.谁也不喜欢得不偿失.

慕的地8271018

把请求区分开来,也就是将请求分为有效请求和无效请求
随时随地看视频慕课网APP
我要回答