Php 保存RichText(所见即所得输出)的最佳方法是什么?
我有一个基于javascript的富文本编辑器 保存它生成的标签最安全的方法是什么 我使用MySQL作为我的数据库Php 保存RichText(所见即所得输出)的最佳方法是什么?,php,javascript,html,Php,Javascript,Html,我有一个基于javascript的富文本编辑器 保存它生成的标签最安全的方法是什么 我使用MySQL作为我的数据库 我不确定是否使用mysql\u real\u escape\u string$text;是安全的。我建议您使用mysqli与数据库接口,这样您就不需要转义数据并获得针对SQL注入的完整保护。当然,您可能仍然需要防止HTML注入 您不需要将文本字符串写入JavaScript文件。如果您需要JavaScript来处理它,我建议您使用XMLHttpRequest来获取数据,这与名称所建议
我不确定是否使用mysql\u real\u escape\u string$text;是安全的。我建议您使用mysqli与数据库接口,这样您就不需要转义数据并获得针对SQL注入的完整保护。当然,您可能仍然需要防止HTML注入
您不需要将文本字符串写入JavaScript文件。如果您需要JavaScript来处理它,我建议您使用XMLHttpRequest来获取数据,这与名称所建议的相反,并不要求您的数据是XML格式。我想不出在这里使用htmlentities的理由。mysql_real_escape_字符串在这里非常重要,因为它可以防止人们注入像“;从表foo中删除*输入数据库。我会尝试不使用htmlentities,如果您发现需要转换为实体,那么您可以尝试htmlspecialchars,它只转换特殊字符 如果要限制表单中允许的HTML,可能还需要查看strip_tags函数 相关文件:
祝你好运数据库中的HTML不会有什么坏处。在没有正确设计的情况下创建应用程序时会出现问题。如果内容必须显示为HTML,不要转义它。否则,请在将其插入数据库之前对其进行转义。查看markdown,这是SO上用于问题和注释的方法。我发现它比HTML更容易为用户使用,而且验证HTML和输出的问题更少。您将标记存储在数据库中,该数据库在输出时会转换为有效的HTML。@RobW我总是被告知不要更改正在插入的数据,只在数据从数据库中出来时才更改数据?@DaanTimmer您通常是正确的,请参见。而不是使用mysqli@这是另一种选择。