首页 > 解决方案 > 允许自定义 CSS 的危险

问题描述

我正在创建一个允许用户创建自己的子频道的网站。有点像 subreddit(如果你熟悉 reddit)。

我想让它允许子频道管理员上传他们自己的 CSS 文件(具有最大文件大小),这将覆盖其子频道的默认样式。(用户还可以选择退出自定义样式。)

我只听说过一些网站这样做,因此很难获得有关所涉及风险的信息。会不会有任何潜在的安全风险?

我会用 Laravel 做这个,以供参考。

标签: csslaravel

解决方案


Javascript 可以在 CSS 中执行,你必须确保你使用了一些过滤。

我还看到有人用透明像素覆盖了微软控制网站上的整个页面,链接到恶意网站。单击任何地方都会触发攻击者站点的出现。

然而,如果用户只看到他或她自己的 CSS,这可能是安全的,并且他们无法让其他人查看他们所做的事情。否则,某种白名单或降价将起作用。

用户 CSS 也有可能破坏您的网站,例如将导航菜单设置为 0x0 像素或将其移出屏幕至 -1000、-1000。或者 CSS 本身可能会引用来自其他站点的图像,您不能保证这些图像会继续存在。


推荐阅读