将 div innerText 直接保存到数据库

Saving div innerText directly to database

我有一个带有 contenteditable 的简单 div,我想在没有 HTML 的情况下存储它的值,但保留换行符,所以我使用 innerText

问题:直接保存在数据库中是否可以,还是应该在存储之前保存为“urlencoded”或其他内容?

现在我正在按原样保存,并在通过 htmlspecialchars and Purify 检索 运行 内容时以防万一。这很好还是有更多 secure/performant 方法来做到这一点?

是的,这很好。数据应按用户输入的那样存储在数据库中。插入数据库时​​,出于安全原因无需修改数据。

插入数据库时​​,切记不要将任何变量直接输入 SQL。您必须始终使用参数化准备语句。例如,它们由 PDO 提供。

输出数据时,您需要针对呈现数据的媒体对其进行编码。如果您在 HTML 中显示数据,则需要使用 htmlspecialchars(). If you put the data in URL you need to encode with rawurlencode() 进行编码。