【问题标题】:how to store html code in mysql? [closed]如何在mysql中存储html代码? [关闭]
【发布时间】:2013-03-30 02:50:48
【问题描述】:

我想在mysql数据库中存储一些html代码,我以前没有这样做过,在db中存储html的正确方法是什么?

$html_code='<div class="hello"><p>hello world</p></div>';

// database table
part_name | html_code
hello | ??

【问题讨论】:

标签: php mysql


【解决方案1】:

我的建议是使用htmlpurifier 为您完成,清理输入并删除所有恶意代码

否则,您必须编写像 remove_special_chars($string) 这样的函数来删除像 &amp;lt; &amp;gt; " 这样的特殊字符,并用类似 &amp;lt;,&amp;gt;,&amp;quot;... 的东西替换它们并保存到你的数据库。 从 db 读取数据后,使用add_special_chars($string) 之类的函数反之亦然,以显示内容。这并不容易,仍然不可靠

【讨论】:

  • @DannyBeckett,谢谢。我编辑了我的帖子
  • 为什么要在插入数据库之前删除标签? html 应按原样插入,并且仅在输出前“清理”。 db 中没有恶意 html/js
  • @DamienPirsy 例如,如果&lt;script&gt; alert('something') &lt;/script&gt; 由用户存储在评论字段中,当我们尝试阅读它时发生了什么?
  • 这就是为什么我说在输出之前进行消毒。 &lt;script&gt;whatever&lt;/script&gt;,当在 DB CELL 中时,会发生什么?
  • @DamienPirsy,我编辑了我的回复,请重新检查并编辑我的真实回复,谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-09-17
  • 2012-12-10
  • 1970-01-01
  • 1970-01-01
  • 2015-01-20
  • 1970-01-01
  • 2011-04-09
相关资源
最近更新 更多