我发现大部分用户头像图片文件的url都很长,并且组合了很多数据。
例如,Facebook:
https://fbcdn-profile-a.akamaihd.net/hprofile-ak-ash4/371533_1567227XXX_1135411XXX_q.jpg
我们知道1135411XXX
是用户 ID 且 q
是文件大小,但是什么 371533
和1567227XXX
代表什么?
其他:
Linkedin http://m3.licdn.com/mpr/mpr/shrink_60_60/p/4/000/165/0e4/3b2dcXX.jpg
Tumblr http://24.media.tumblr.com/avatar_4de452cedeXX_64.png
我们可以通过用户 ID 来命名文件名,它看起来更短更容易,如下所示:
<img src="http://domain.com/images/avatar/' . $user_id . '.jpg"/>
但是为什么他们把网址弄得这么长又复杂呢?什么样的潜在问题是我没有考虑到的?
最佳答案
可能有多种原因:
- 反矿工
- 安全性低下
- 生成的 UID
- 尺寸和像素等额外信息
想象一下,如果我知道您使用 5 个字符的 ID,会发生什么,我会开始加载您服务器上的每个可能的 ID,并完全挖掘出您用户的所有图片。
你会有很多流量。 您的用户会因不保护他们的隐私而起诉您。
例如,对于用户“userone”的路径有一个哈希算法是很好的,哈希值将是“1236662231”并将其用作路径,这样其他人就很难理解实际路径并且不会进行挖掘您的信息和图片网站。
关于php - 为什么大多数网站的用户头像图片文件的 url 如此复杂?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12318184/