css - 用户上传背景图片的安全考虑

标签 css security

首先,我不是在询问使用服务器端语言上传本身的过程。 我只想知道在我的网站上使用上传的图像作为 CSS 背景时应该考虑哪些安全因素。

该功能与 Twitter 完全相同,允许用户使用自己的背景图片。

例如,将图像放在服务器上并开始使用是否安全?他们可以在使用该背景的页面上注入(inject)某种代码吗? 我通常将图像调整为较小的尺寸,这是否足以删除其中包含的不需要的“元”数据?

最佳答案

多年来,浏览器存在大量由特制恶意图像文件引发的缓冲区溢出漏洞。

我不知道当前版本的浏览器是否存在任何已知的这种性质的缺陷,但很多人会使用没有任何安全补丁的旧版本,当然新缺陷时不时会被发现。

这很难解决(而且几乎不可能 100% 安全),但您可以进行一些基本检查,以确保该文件实际上是上传时所声明类型的图像。调整图像大小几乎肯定会破坏其中嵌入的任何恶意代码。

还有一个更明显的风险,即图像可能会显示您不希望与您的网站相关联的不合适的 Material 。这只能通过在允许使用图像之前手动审查图像来解决。

所以,是的,存在风险。但是,如果图像是由上传它们的人查看的(即作为个性化功能,按照您在 Twitter 上描述的方式)而不是由任何人查看,则风险低得多。显然,一个人不太可能想要入侵自己的计算机,因此恶意图像问题会减少,如果有人想在您的网站上放置一个令人讨厌的图像,但只有他们才能看到它......好吧,他们显然知道它是什么,否则他们不会上传它。

关于css - 用户上传背景图片的安全考虑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6346419/

相关文章:

javascript - Twitter Bootstrap 3.1.x、box-sizing 属性和 Revolution Slider 的问题

javascript - 防止 Javascript 中的 AJAX 泛洪

html - 每个设备屏幕中元素的大小一致

html - 内容与 flexbox header 重叠——如何避免

ruby-on-rails - Ruby on Rails 私有(private)链接共享 : Google Docs Style

sql - 报告的错误代码是否被认为是 SQL 注入(inject)?

java - 使用PBKDF2 java解密和加密

java - Android 加密/解密 sqlite 数据库 100% 安全

javascript - 为什么我的 Javascript 没有检测到我需要的元素?

html - 您如何设置带有与其他子项内联的图例的字段集