将 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()
进行编码。
我有一个带有 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()
进行编码。