PHP:允许用户编写自定义CSS以自定义我网站上的网页是否安全?

PHP:允许用户编写自定义CSS以自定义我网站上的网页是否安全?,php,security,Php,Security,我正在构建一个web应用程序,允许其他人设计自己的页面。我正在使用PHP,MySQL 我在想。允许用户通过编写自己的CSS代码来定制页面安全吗 所以我想到了一个TEXTAREA字段,他们可以在CSS代码中输入 我正在使用PHP filter_var$string、filter_SANITIZE_string、filter_FLAG_STRIP_HIGH;在将字符串保存到我的数据库之前对其进行筛选 所以。。。。允许还是不允许 谢谢 从某种意义上说,用户可以使用自己的CSS覆盖您的CSS,也可以使用

我正在构建一个web应用程序,允许其他人设计自己的页面。我正在使用PHP,MySQL

我在想。允许用户通过编写自己的CSS代码来定制页面安全吗

所以我想到了一个TEXTAREA字段,他们可以在CSS代码中输入

我正在使用PHP filter_var$string、filter_SANITIZE_string、filter_FLAG_STRIP_HIGH;在将字符串保存到我的数据库之前对其进行筛选

所以。。。。允许还是不允许


谢谢

从某种意义上说,用户可以使用自己的CSS覆盖您的CSS,也可以使用浏览器插件等等。只要确保一个用户不会影响另一个用户的CSS

不过,请使用专用的转义函数来清理数据库中的数据。e、 g.mysql\u real\u escape\u mysql字符串。

例如,IE允许您通过CSS行为属性包含JavaScript文件。但是,如果只有输入CSS代码的用户才会看到它,那么它是安全的。
如果您限制允许的属性,这也是安全的-但是请注意,由于IE允许使用JavaScript动态值,您必须再次限制值。

清理代码是最佳做法

为了避免IE漏洞,您可以使用W3C验证程序在保存之前检查CSS sintax


希望能有帮助。再见

允许用户为其站点输入自己的CSS代码通常是安全的。浏览器已经实现了自己的用户代理CSS,以便在未设置样式的元素上强制使用公共样式。根据CSS2规范:用户代理的默认样式表应以满足对文档语言的一般表示期望的方式呈现文档语言的元素。此外,确保站点可访问性的一个重要方面是允许客户-用户代理CSS


然而,仅仅因为这可能是安全的,并不意味着它应该是安全的。例如,任何用户都可以轻松地将元素的背景图像设置为web上不合适的图像。提供这样做的能力只会为您的站点上的恶意攻击打开大门,我认为通常应该避免

一个简单的数字+1。我甚至不会去那里。插入恶意代码的所有机会…使用filter\u var$string、filter\u SANITIZE\u string、filter\u FLAG\u STRIP\u HIGH对其进行过滤怎么样?我认为它过滤掉了javascript。在CSS中嵌入javascript不会导致javascript:出现在字符串中,因此我怀疑这是否有效。尽管我注意到Tumblr和Google等网站允许您自定义HTML、CSS、javascript。。。想知道他们是如何保护自己的安全的。我想建议大家读一下:CSS本身并没有提供不安全的操作。但是,Internet Explorer存在。但是,Internet Explorer存在。我真的笑了。