在url中使用主键自动增量

时间:2014-02-26 02:40:17

标签: php mysql laravel

我制作电子商务网站,如果我在网址中使用主键自动增量服务产品和卖家以及图片名称,是否更安全?

或为每个产品和图片名称生成随机且唯一的字符串?

laravel中最好的方法是什么产生唯一的字符串值?

编辑:

例如

http://www.zxc.com/listing/472

472是产品ID(主键自动增量),是安全还是为每个产品生成唯一字符串?

感谢

2 个答案:

答案 0 :(得分:1)

使用pk id来识别常用的模型实例。虽然不太适合搜索引擎优化,但这可以帮助你,你可以根据字符串为你的产品提供一个唯一的ID,例如这个包:https://github.com/cviebrock/eloquent-sluggable使它很容易实现。

答案 1 :(得分:0)

一般来说,在网址中使用主键的一般规则对大多数应用程序都是可以的,因为这些应用程序可以公开获取并发布信息。

如果您生成的网址只能被特定人员查看/共享,那么您就会遇到问题。递增整数可预测且容易。在这种情况下,最好使用基于哈希的唯一键。

例如,一个非常简单的例子是

$key = sha1($primarykey, true);
$url = 'http://www.zxc.com/listing/'.$key;

您显然需要在列表页面上进行一些额外的处理,以将ID解析为整数,但希望您明白这一点。