在数据库通过 id 获取相应的条目
select * from obj_table where id = 101;
例如在 web 段,用户会通过 url: "abc.com/p/101" 来获取相应的信息。
这样处理的话有个弊端,爬虫可以很方便的顺着 id 自增的规律来抓取信息,有些时候不想暴露这样的信息。那么后段该如何处理?
例如 segmentfault.com 问题 url 是这样的"https://segmentfault.com/q/1010000007930814"
后面的"1010000007930814"显然不是数据库中相应条目的 id,那么他们之间的转换关系是什么样的?
可以使用hashids
将数值转化为唯一的且尽可能短 id(注意只是用来转化数值),且有各种语言版本的实现,方便使用。