我正在使用嵌入API来获取用户提交的图像URL,以将其托管在我的网站上。
In the documentation of the embed service I am using it states:
还有其他安全考虑,并且这也适用于常规嵌入:链接到第三方图像直接打开跨站请求伪造(CSRF)和其他漏洞,建议托管所有图像(包括收藏夹图标)通过您自己的域。该域名可以称为例如safe.yourdomain.com,并且应将其设置为NGINX的反向代理来托管图像。我们将为此提供一个示例NGINX配置。
我还想知道Laravel是否可以使用csrf令牌,使用{{}} htmlentity的刀刃自动防御这种情况,以及在将图像链接存储在数据库中时是否可以做些什么。
注意:在以后的某个时候,我会将图像存储在自己的文件结构中,但是现在我不会了。
答案 0 :(得分:1)
只要正确配置了Laravel应用并遵循建议的使用Laravel提供的CSRF保护的做法,就可以认为您的应用是安全的。
但是,嵌入服务提供商指出的是,如果您呈现的数据包含域中的资源直接,则会使您的用户面临CSRF的潜在风险,这与您自己的应用程序或其他网站。
最好始终验证所有URL,以确保它们是受信任的资源来源,并且永远不要以浏览器可能会自动尝试加载而无需用户确认的方式呈现这些链接。
考虑到广泛的主题和少数可能的策略,有关如何清理,验证和处理不受信任的数据的实施技术可能超出了此答案的目的。
但是对于您的特定问题,如果这些链接是图片,则可以