【问题标题】:Storing CSS in Database将 CSS 存储在数据库中
【发布时间】:2014-12-05 19:39:16
【问题描述】:

我希望将 CSS 存储在 mySql 数据库中(LAMP 设置)。我想用以下内容做一个输入字段:

body{ background: url("http://google.com/image.jpg") no-repeat; color: orange; }
#someDiv {width: 50%;}

...你明白了。我将如何最好地清理这些数据以允许它进入数据库?感谢您的帮助,我似乎无法在 SO 上找到一个好的解决方案。

【问题讨论】:

  • 消毒它?我不确定你在问什么。
  • 只是文字。将其视为您将插入数据库的任何其他文本:使用准备好的语句和占位符。换句话说,请阅读:stackoverflow.com/questions/60174/…
  • 你的意思是阻止</style><blink>BOOBIES</blink>
  • 此文本是否由用户输入?您将不得不仔细检查输入; 1. 使其对 SQL 注入安全(应该很容易) 2. 确保它可以针对 XSS 进行适当的转义。 owasp.org/index.php/XSS
  • @LoganBailey 嗯……对。我认为这个“功能”真的很难实现。有一个很好的转义 CSS 教程:owasp.org/index.php/…

标签: php mysql css security


【解决方案1】:
<style type="text/css">
   @import '/yourcssgenerator.php;
</style>

yourcssgenerator.php 可以使用从您喜欢的任何地方提取的组件来提供 CSS,无论是数据库还是从 stackoverflow.com 抓取它。通过将 CSS 保留在自己的资源中,您不必担心注入恶意内容。

样式表不必具有 .css 扩展名。您甚至可以通过这种方式创建自己的 CSS 模板层,并允许个人用户、联合品牌客户等拥有自己的 CSS 版本。

查看this question 了解实施详情。

【讨论】:

    猜你喜欢
    • 2012-09-26
    • 2013-08-14
    • 2012-11-17
    • 2020-12-06
    • 2023-04-10
    • 2021-01-25
    • 2011-01-04
    • 2014-03-28
    • 2011-01-13
    相关资源
    最近更新 更多