首先,我不是在询问使用服务器端语言上传本身的过程。 我只是想知道在我的网站上使用上传的图像作为css背景时我应该采取哪些安全注意事项。
该功能与Twitter完全相同,允许用户使用自己的背景图像。
例如,将图像放在服务器上并开始使用它是否安全?他们可以使用该背景在页面上注入某种代码吗? 我通常会将图像调整到较小的尺寸,这是否足以删除其中包含的不需要的“元”数据?
答案 0 :(得分:2)
多年来一直存在大量浏览器安全漏洞,这些漏洞是由特制的恶意图像文件触发的缓冲区溢出。
我不知道在当前的浏览器版本中存在任何已知的这种性质的缺陷,但是很多人会在没有任何安全补丁的情况下使用旧版本,当然新的漏洞会不时出现。
这很难解决(并且几乎不可能100%安全),但您可以做一些基本检查,确保文件实际上是上传时声明的图像类型。调整图像大小几乎肯定会破坏嵌入其中的任何恶意代码。
还有一个更明显的风险,即图片可能会显示您不希望与您的网站相关联的不合适的资料。只有在允许使用图像之前手动审核图像才能解决这个问题。
是的,存在风险。但是,如果图像要由上传者(即,作为个性化功能,以您在Twitter上描述的方式)查看,而不是被任何人查看,则风险会低得多。 。显然,一个人不太可能想要破解他们自己的计算机,因此恶意图像问题会减少,如果有人想在你的网站上放一个讨厌的图像,但只有他们才能看到它......好吧,他们显然知道它是什么,或者他们不会上传它。