我正在Django中构建一个允许用户发布链接的webapp。当他们发布链接时,我想显示链接的缩略图。现在,我只需在链接页面上下载第一个图像(使用BeautifulSoup),将其存储在我的Django模型中,然后将其与模型一起提供。
我想知道这是否是从规模和安全角度来看的最佳解决方案?更好的解决方案是简单地在原始网站上存储原始图像的链接,然后让用户的浏览只是从链接的网站请求该图像吗?
第二种解决方案比将所有图像下载到我的服务器上更快更安全吗?我也担心下载和提供数千张图像是否会扩展,以及如何保护应用程序免受恶意网站上的图像攻击。
答案 0 :(得分:0)
我认为最好的解决方案是使用BeautifulSoups下载第一张图片(正如您目前所做的那样),然后将其上传到CDN(如AmazonWS S3,Google云存储等)并仅保存指向该图片的链接模型中的图像。因此,下次您查看该链接时,您将只从CDN提供图像。
此解决方案非常安全,可以扩展!