根据文章id按照规则生成一个链接?

我的文章id是数据库中是自增的,如果文章页面的链接直接使用xxx.com/id.html,那么就很容易识别出数据库中的id,这样就可以很方便的枚举出其他文章的链接。

那么可以使用一个什么规则,把文章id转换成一个看似没有规律的数据,然后程序又能从这个没有规律的数据中解析出文章id,然后查询到对应的文章信息呢?

比如文章id是123,转换后变成AD67NHF12305,访问xxx.com/AD67NHF12305.html时,程序还能再计算出文章的id是123呢。

谢谢。

阅读 4.4k
3 个回答

后台数据库每个文章再加一个字段作为文章id的sha1,一一对应就好了

Hashids

官网例子:

$hashids = new Hashids\Hashids('this is my salt');
$id = $hashids->encode(1, 2, 3);
$numbers = $hashids->decode($id);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏