2010-09-06 72 views
2

可能需要在未来的某个时间实现,但我认为现在问题的触发主要是好奇心。
我想到如何编写一个文本编辑器到我很快就会建立的网站上,并且看到了这个网站的(和其他的)方式,所以我想 - 这不是太复杂了吗?如果应该首先使用标签,为什么不让用户使用HTML标签?我能想到的唯一原因是我不太了解HTML注入,但这听起来像是一个容易解决的问题,不是吗?为什么不在网站的文本编辑器中使用HTML标签?

谢谢。

回答

4

只是因为不是所有的用户都会知道HTML。 *bold text*<b>bold text</b>更容易理解(并且以原始形式阅读)。特别是如果你进入链接。

我们使用Markdown,Textile和其他的原因是为更多的用户提供了一个很好的选择。

当然,您仍然可以为您的用户提供使用HTML的能力(它在Markdown规范中),但您必须进行大量检查以确保没有任何恶意行为 - 例如,阻止<script> ,,大图像,JavaScript形式<a href="javascript:alert("...");">

+0

++感谢HTML注入的具体示例。 – 2010-09-06 21:23:59

2

从历史上看,像BBCode这样的系统旨在将可用的格式化元素限制为不会破坏网站布局的事物,但现在,使用更成熟,更智能的HTML解析器,不需要创建新的标记语言禁止某些不安全的HTML标签。

我目前看到的主要原因是HTML对大多数用户来说是陌生的,HTML替代品旨在提供日常用户需要的格式化指令的简化版本。

2

有几个原因,你不应该使用HTML标签在这样的编辑器:

1)这可能是用户不太复杂的,如果你介绍自己缩减标签集

2)HTML注入:有危险的HTML代码被注入的风险很大。

如果你真的想要允许HTML代码,你必须非常小心。

1

HTML脚本注入是最重要的不是一个简单的问题来解决。 HTML是一个相当复杂的问题,检测所有可能的漏洞是一个非常困难的问题。许多网站都尝试过,并且失败了。从防止漏洞的POV,到仅仅完全禁止HTML,或者只允许一小部分标签都更容易。

相关问题