我有一个带有 contenteditable 的简单 div,我想在没有 HTML 的情况下存储它的值,但保留换行符,所以我使用 innerText
。
问题:是否可以直接将其保存在数据库中,还是应该在存储之前将其保存为“urlencoded ”或其他内容?
现在我按原样保存,检索它时通过 htmlspecialchars 运行内容和 Purify , 万一。这可以吗?或者有更安全/性能更好的方法吗?
最佳答案
是的,这很好。数据应按照用户输入的方式存储在数据库中。插入数据库时,无需出于安全原因修改数据。
当插入数据库时,你需要记住永远不要将任何变量输入直接放入 SQL 中。您必须始终使用参数化准备语句。它们由 PDO 提供例如。
输出数据时,您需要针对呈现数据的介质对其进行编码。如果以 HTML 格式显示数据,则需要使用 htmlspecialchars()
进行编码。如果将数据放入 URL 中,则需要使用 rawurlencode()
进行编码。
关于javascript - 将 div insideText 直接保存到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60217152/