我想在文件系统(ext4)上存储 + 1M的产品图片,因此我可以通过网络链接到它们。我使用Ubuntu 16.04,NGINX 1.10,PHP 7(如果你需要它)。
如何使用网络蜘蛛将文件命名为阻止获取整个图像集?
我知道我不能按顺序命名所有文件,所以我需要在命名中加入混乱。怎么样?
创建1.jpg的散列会随机看,但很容易发现它只是散列...
答案 0 :(得分:0)
如果您想限制对图片的访问,我建议您查看Amazon S3(存储图片)或Amazon CloudFront(将图像存储在自己的服务器上)。
两者都允许您将图像的访问权限限制为特定的IP和到期日期。因此,在PHP中,您可以生成这样一个受S3 / CF保护的链接,并将其发送到浏览器以获取每个请求。
因此,任何浏览器/抓取工具都需要先联系您的网页,然后才能检索产品图片。
以下是一些相关文档:
请注意,许多其他CDN也支持签名/受保护的URL。
话虽如此,到目前为止最简单的解决方案是在哈希中添加一个不太可能正确猜测的哈希值。例如。与sha1(1.jpg)
相比,sha1(some-very-very-very-secret-key-1.jpg)
更容易识别。