Сохранение div innerText напрямую в базу данных - PullRequest
0 голосов
/ 14 февраля 2020

У меня есть простой div с contenteditable, и я хочу сохранить его значение без HTML, но с сохранением разрывов строк, поэтому я использую innerText.

Вопрос : Можно ли просто сохранить его как есть, прямо в базе данных, или это должно быть " urlencoded " или что-то еще перед сохранением?

Прямо сейчас я сохраняю как есть и при извлечении его запускаю содержимое через htmlspecialchars и Purify , на всякий случай. Это нормально или есть более безопасный / эффективный способ сделать это?

1 Ответ

1 голос
/ 14 февраля 2020

Да, это нормально. Данные должны храниться в базе данных, введенной пользователем. Нет необходимости изменять данные в целях безопасности при вставке в базу данных.

При вставке в базу данных вы должны помнить, что никогда не следует вводить переменные непосредственно в SQL. Вы всегда должны использовать параметризованные подготовленные операторы. Они предоставляются, например, PDO .

При выводе данных вам необходимо их кодировать для носителя, на котором вы представляете данные. Если вы отображаете данные в HTML, вам нужно кодировать с помощью htmlspecialchars(). Если вы помещаете данные в URL, вам нужно кодировать с помощью rawurlencode().

...