【发布时间】:2016-06-02 07:50:42
【问题描述】:
我一直在环顾四周,我发现,例如,instagram 使用大字符串来命名他们的图像(例如,instagram/p/BB-cCvtje4k),facebook 也是如此。将图片命名为 thisuser/1 和下一张图片 thisuser/2 等等有什么缺点吗?还是在我的服务器端代码上执行以下操作是不好的做法?
$i=1;
while(file_exists('thisuser/'.$i)) {
i++;
}
$image_path = 'thisuser/'.$i;
谢谢!
【问题讨论】:
-
最大的骗局....人们可以不断增加访问您网站上每张图片的数量,无论您是否愿意
-
这很好。但我认为使用代码将图像设为私有比隐藏它的路径更安全。如果您不希望有人看到图像,只需使其对您希望的用户可用。脸书做到了。不确定Instagram是否会这样做,但我认为是的。所以我认为这不是他们不这样做的原因。
-
我的评论不仅仅是“通过默默无闻的安全”,它是一种非常普遍的做法,只是为了消除尝试的诱惑;无论如何,您仍应始终在代码中进行验证
-
使用 UUID 值还可以更轻松地合并数据库或将数据从一个数据库传输到另一个数据库,而顺序 pk 编号可能需要重置
标签: php database image server-side