想到一个自增 id 但是同时防止遍历的办法

2015-11-12 10:56:13 +08:00
 est
比如会员, uid 从 1 开始,那么一些人就可以从 1 开始爬虫。。。

于是我在脑洞一些办法防止这个事。有的用uuid,甚至hash,感觉都不是很友好。在保持id自增的前提下,我想了一些办法:

第一个手段当然是限频率和屏蔽手段。。。

第二个手段,就是把自增 id 弄成稀疏的。 比如统统跳过 id 个位数为 7 的。。那么如果有人故意访问 uid=7, uid=17, uid=27 等等,就直接判定为爬虫,封锁之。

当然,判断个位数,这个很容易被发现规律猜到。

那么,有没有比较好的算法,让人猜不到这个 “间隙” id 的规律,但是服务器又非常容易判断为不可用 id 呢?
15574 次点击
所在节点    奇思妙想
85 条回复
xiaogui
2015-11-13 12:18:22 +08:00
@holyghost hashids 看着好棒,哈哈。
xiaogui
2015-11-13 12:24:37 +08:00
不过非连续 ID 并不能完全阻止被爬虫。
est
2015-11-13 13:00:13 +08:00
@xiaogui 为什么?
xiaogui
2015-11-13 13:38:37 +08:00
@est 只要你把内容显示给用户,就不能保证爬虫不会抓取,只不过可能会让爬虫麻烦点而已。
un
2015-11-20 10:31:59 +08:00

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

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

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

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

© 2021 V2EX