将 TinyMCE 表单数据存储在 MySQL 数据库中并按原样 return

Store TinyMCE form data in a MySQL database and return as is

我目前在一个 CMS 项目中,我们希望使用 TinyMCE 作为我们的所见即所得编辑器。在这里,我们允许用户自定义他们的内容(例如某些部分是粗体,不同的缩进等)我想知道的是,我们如何将这些表单数据存储在 MySQL 数据库中,以及如何我们return数据来自那些款式?数据库是否存在问题,因为它包含 html 标签?我想你可能会得到我要问的。这是我们第一次使用所见即所得编辑器,感谢您的帮助..

对于MySQL,TinyMCE生成的HTML只是一个String,你可以原样存储(在你的安全过滤器验证之后)

但是,您的应用程序必须非常小心地处理 Strong,因为粗心的处理会导致跨站点脚本 (XSS)。

这比在非 html 字段上防止 XSS 更难,因为输出清理不起作用。

防止 HTML 字段上的 XSS 最可靠的方法是您需要在服务器、白名单或黑名单中过滤 HTML 文本。

黑名单更容易实现,但可能会遗漏一些我们不知道的模式。白名单更健壮但麻烦。您将定义您允许的标签和属性,HTML 包含无效标签或属性可以被过滤或阻止。你可以通过Jsoup实现白名单(为了更好的性能,我会建议你自定义Jsoup)

您不能相信 tinymce 可以帮助您,因为黑客可以轻松绕过客户端验证。