Php 数据库中的HTML代码

Php 数据库中的HTML代码,php,html,mysql,Php,Html,Mysql,将html代码放入MySql数据库是一种好的做法吗?。更具体地说,我有一个博客。数据库中的每个部分都有一个单独的字段:页面标题(元数据)、描述、文章标题、文章正文。。。正文字段有时需要html或一种方法来区分每个帖子正文文本之间的字幕、img或视频及其标题 我是唯一一个将内容放入数据库的人。所以我想我不需要清理任何html 将html代码放入MySql数据库是一种好的做法吗 如果html不是一个好的实践,那么如何区分YouTube视频和文章正文文本之间的标题呢 我不建议在数据库中存储HTML,

将html代码放入MySql数据库是一种好的做法吗?。更具体地说,我有一个博客。数据库中的每个部分都有一个单独的字段:页面标题(元数据)、描述、文章标题、文章正文。。。正文字段有时需要html或一种方法来区分每个帖子正文文本之间的字幕、img或视频及其标题

我是唯一一个将内容放入数据库的人。所以我想我不需要清理任何html

  • 将html代码放入MySql数据库是一种好的做法吗
  • 如果html不是一个好的实践,那么如何区分YouTube视频和文章正文文本之间的标题呢

我不建议在数据库中存储HTML,因为它需要太多的清理来防止在数据库中存储恶意Javascript代码。因此,您可以使用PHP标记库以人类直观的格式很好地格式化消息,当您显示消息时,它将被解析为HTML,类似于Stackoverflow或Github

见:

例如:

1. List 1
2. List 2
翻译为:

<ol>
   <li>List 1</li>
   <li>List 1</li>
</ol>
查看此信息的来源,了解如何为YT实现此标记语法:


我不建议在数据库中存储HTML,因为它需要太多的清理来防止在数据库中存储恶意Javascript代码。因此,您可以使用PHP标记库以人类直观的格式很好地格式化消息,当您显示消息时,它将被解析为HTML,类似于Stackoverflow或Github

见:

例如:

1. List 1
2. List 2
翻译为:

<ol>
   <li>List 1</li>
   <li>List 1</li>
</ol>
查看此信息的来源,了解如何为YT实现此标记语法:


就博客而言,将博客添加到数据库中是一件好事。因为有许多html标记需要在不同的地方实现,所以我们不能静态或通过代码实现

有关将正文存储到数据库的最佳方式:- 尝试对字符串使用htmlspecialchars()将其放入数据库,然后在将其拉出时,使用htmlspecialchars\u decode()将其放入数据库


希望这将对您有所帮助。

就博客而言,若您将博客添加到数据库中,这将是一件好事。因为有许多html标记需要在不同的地方实现,所以我们不能静态或通过代码实现

有关将正文存储到数据库的最佳方式:- 尝试对字符串使用htmlspecialchars()将其放入数据库,然后在将其拉出时,使用htmlspecialchars\u decode()将其放入数据库

希望这能对你有所帮助。

没有“正确”的方法

在数据库中存储HTML完全没有问题。因此,在数据库中存储标记和呈现的HTML。提供HTML会更快地呈现页面,因为标记已经被解析。如果编辑了一篇文章,标记将再次解析为HTML并存储在数据库中

另一种方法是只保存标记(或HTML)。由于只有您才能创建页面,因此无需检查输入是否存在恶意代码。如果你还想这么做,我建议你看看哪一个像符咒一样有效。

没有“正确”的方法

在数据库中存储HTML完全没有问题。因此,在数据库中存储标记和呈现的HTML。提供HTML会更快地呈现页面,因为标记已经被解析。如果编辑了一篇文章,标记将再次解析为HTML并存储在数据库中


另一种方法是只保存标记(或HTML)。由于只有您才能创建页面,因此无需检查输入是否存在恶意代码。如果您仍然想这样做,我建议您检查一下哪种方法很有效。

问题:在MySQL数据库中存储HTML代码是一种好的做法吗

回答:不,不是

永远不要显示数据库中的HTML代码。始终假定数据库(XSS)中可能存在恶意HTML代码,即使只有您可以访问它。永远不要显示这个HTML

使用另一个库或格式将标记转换为HTML。它允许您像这样存储字幕:
[subtitle]此字幕[/subtitle]
,然后将这些标记转换为(示例)
此字幕

这样,当您想要将字幕从
更改为
时,您只需在一个位置执行此操作,而不必更改您曾经发布的每个博客帖子


另一个例子是youtube视频:假设您存储HTML。明天,YouTube将更换播放机,你必须更改你发布的所有YouTube视频。如果你想使用
[youtube]http://www.youtube.com/whatevervide[/youtube]
,这意味着您只需更改一次HTML代码。

问题:将HTML代码存储在MySQL数据库中是否是一种良好的做法

回答:不,不是

永远不要显示数据库中的HTML代码。始终假定数据库(XSS)中可能存在恶意HTML代码,即使只有您可以访问它。永远不要显示这个HTML

使用另一个库或格式将标记转换为HTML。它允许您像这样存储字幕:
[subtitle]此字幕[/subtitle]
,然后将这些标记转换为(示例)
此字幕

这样,当您想要将字幕从
更改为
时,您只需在一个位置执行此操作,而不必更改您曾经发布的每个博客帖子


另一个例子是youtube视频:假设您存储HTML。明天,YouTube将更换播放机,你必须更改你发布的所有YouTube视频。如果你想使用
[youtube]http://www.youtube.com/whatevervide[/youtube]
,这意味着您只需更改HTML代码一次。

您可以使用标记库。看:为什么我有一个否定点?这个问题怎么了?我是唯一一个提出这个问题的人