我的用户上传他们的个人资料图片,然后我将它们保存在公共文件夹中。文件名不可预测(它们基于带盐的用户 ID 的 md5 哈希)。当有人查看用户的个人资料时,我会嵌入指向用户图片的链接。
我担心有人可能会下载整个目录并滥用图像。我该如何防止这种情况发生?具体来说:
- wget 和 curl 是此类攻击唯一现实的选择吗?
- 我意识到 wget 尊重 robots.txt,但我可以依赖它吗?
- curl 是否尊重 robots.txt?
更新:我正在使用 ubuntu 服务器
答案1
文件名不可预测(它们基于带盐的用户 ID 的 md5 哈希值)。当有人查看用户的个人资料时,我会嵌入指向用户图像的链接。
让我翻译一下:知道如何获取个人资料页面的人都知道图像的 URL。
我意识到 wget 尊重 robots.txt,但我可以依赖它吗?
不。
一般来说,只有绝对隐蔽时,您才能依赖这种类型的安全性。访问链接到图片的页面的任何人都可以获取该图片。
任何人都可以尝试猜测名字,但您可以轻松阻止......或者仅使用足够长的随机密钥,以使命中的可能性非常小。