Javascript 从文本编辑器将文章存储在数据库中的最佳方法
我想创建一个文本编辑器,但在编辑完文本后,我遇到了一个问题,即文章如何存储在数据库中。我是将其与HTML代码一起存储还是将HTML标记转换为特殊符号,例如:Javascript 从文本编辑器将文章存储在数据库中的最佳方法,javascript,php,jquery,Javascript,Php,Jquery,我想创建一个文本编辑器,但在编辑完文本后,我遇到了一个问题,即文章如何存储在数据库中。我是将其与HTML代码一起存储还是将HTML标记转换为特殊符号,例如:标记到[br],文本到[span]文本[/span] 非常感谢:)在数据库中,您必须只存储特殊字符(如html和其他字符)的转义值 使用:mysqli\u real\u escape\u字符串 您可以使用多种方法:urlencode/urldecode,htmlspecialchars等等。除非您不希望呈现HTML,否则没有理由替换符号。如果
标记到[br]
,文本到[span]文本[/span]
非常感谢:)在数据库中,您必须只存储特殊字符(如html和其他字符)的转义值
使用:mysqli\u real\u escape\u字符串
您可以使用多种方法:urlencode/urldecode
,htmlspecialchars
等等。除非您不希望呈现HTML,否则没有理由替换符号。如果是这样,那么您也可以使用。浏览器不会将这些内容呈现为HTML,然后将文本保存在数据库中
如果希望在加载到某个位置时呈现HTML,则不必将符号替换为HTML实体
但如果您允许用户输入内容,请确保在存储之前对输入的任何文本进行清理。这取决于您想对其执行什么操作。至少你要确保遵守“永远不要相信任何人……永远不要……”的规则
在将数据插入数据库之前,请确保您所做的一切都是对数据进行SANATING
有许多库允许您从HTML(标记向上)转换为标记向下
简单的替换也不会有任何不同。它所要做的就是在显示之前添加一个字符转置步骤。如果你允许在你的网站上存储、检索和显示用户生成的HTML,那么我更关心的是允许XSS。每篇文章都是动态的,有不同的内容,所以用HTML标记保存它,并使用注入来实现安全目的。为什么不使用标记,并存储原始标记源,然后动态地将其呈现为HTML?将基本上解决存储和XSS的每一个问题。