我正在用SimplePie做一个RSS阅读器。
我想拉入RSS提要和显示缩略图的文章。我正在使用RSS附件,稍后将解析RSS项目。& lt; img>。
是否有一种安全的方式来下载这些远程图像到我的服务器,以便我可以缓存它们并调整它们的大小?
例如,我有一些关于如何用cURL完成它的想法,但我对安全性感兴趣。我知道我可以通过文件扩展名来限制,我可能会查看MIME类型,但我只是想知道这是否可行/安全。如果有,应该采取什么步骤来确保没有漏洞。使用gd或imagemagick调整图片大小
或者你可以这样做查看下面的链接
可能存在的安全问题:
- 执行远程脚本。不知何故,你下载了一个php脚本而不是一个图像,服务器在以后调用这个图像时执行它。
解决方案:在任何web服务器中,你都可以配置上传目录,这样就没有脚本可以在那里执行。不要忘记为图像添加适当的扩展名(最好从列表中选择,不要相信mime-types)。
- 客户端读取RSS的XSS。下载一个图像。但它恰好是一个javascript。
解决方案:确保在<img src"...">
标签中插入此图像的链接。脚本不会从img标签执行。此外,通过GD或Imagic调整图像大小肯定会破坏其中的任何js,如果有的话。