gpt4 book ai didi

css - 如何使用用户添加的外部 css(如 myspace)管理安全性

转载 作者:技术小花猫 更新时间:2023-10-29 11:34:14 26 4
gpt4 key购买 nike

我有一个页面,它被请求允许通过 CSS 进行一些用户自定义。

我很乐意这样做,但我正在努力弄清楚如何确保它的安全。没有多少样式表会应用到页面上,但我原本认为如果我只是检查页面是一个 css 扩展,我就安全了。

不过,我做过的研究表明,xss很容易通过css来做。但是我还没有找到任何关于如何允许安全地包含用户生成的外部 css 的资源。

有人对此有建议或资源吗?

MySpace 和其他一些网站设法做到了这一点,但我看不出如何确保它是安全的。

我在外部 CSS 所在的页面上没有任何“安全”用户数据。但我确实得到了一些搜索变量。

----------------sliky回复后的附加数据--------------------

我不打算让每个用户都添加外部 CSS。然而,css 变量可以由特殊的合格用户设置,一旦该变量可用,基本上任何人都可以随意设置它。使用该变量的唯一方法是自己传播 URL,所以也许我过于担心安全性,但我对此表示怀疑。

我可以将其设置为不使用外部样式表对页面进行索引,但我仍然关心如何为最终用户维护安全性。

我会在我的网站上有一个链接 http://mysite.com/page?useracct=12343&extcss=http://location/of/css.css

我设置了 useracct,所以只有我允许启用不同 css 的用户才会为他们的页面创建链接。在我的网站上,我会使用 css 页面链接到该用户帐户。

所以有人不能只是过来说 http://mysite.com/page?extcss=http://new/dangerous/css.css

但是,他们可以创建链接 http://mysite.com/page?useracct=12343&extcss=http://new/dangerous/css.css如果创建危险 css 的人转发该链接,那么有人会到达该页面的唯一方法。

我想如果我对 extcss 进行散列和加盐处理,它可能会更安全。也许这是最好的方法?

最佳答案

使用具有 CSS 库的语言,或编写解析器从 CSS 构建类似 AST 的结构,然后检查是否存在不可靠的东西。

这可能比听起来更难,诸如 div 大小(吞没整个页面)、 float 和 z 顺序之类的东西将很难管理,您可能必须限制您可以提供的值。

一个好主意

创建一个可以转换为 CSS 的基于 XML 的主题模式。允许用户上传图片+XML生成主题。

XML 更易于控制。

PHP CSS Parser , Python CSS parsing

祝你好运

关于css - 如何使用用户添加的外部 css(如 myspace)管理安全性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1316904/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com