Diversia
@Diversia

Как безопасно сохранить данные с формы визуального редактора текста?

Здравствуйте!

Пожалуйста, поделитесь опытом! Как безопасно передать HTML-код из формы визуального редактора и сохранить его.
В PHP можно использовать:
strip_tags($input, '<br><b><i>');
Но на сколько это будет безопасно? Как лучше организовать сохранение?
  • Вопрос задан
  • 394 просмотра
Решения вопроса 1
@BorisKorobkov Куратор тега PHP
Web developer
Для сохранения в БД используй PDO, чтобы не было SQL-инъекции.

Перед выводом в браузер (или предварительно перед сохранением в БД) используй https://word-to-html.ru/ или htmlpurifier.org . Это удалит потенциально-опасные теги и атрибуты (например, js), а в качестве бонуса сократит лишний html (особенно при копировании из Ворда в визуальный редактор)
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@AndryG
Не надо вырезать никакие теги!
Безопасность, как и в сексе, определяется правильным применением контрацептивов :)
При записи в БД ваши данные перед попаданием в текст запроса должны пройти через escape-обработку mysqli_real_escape_string() php.net/manual/ru/mysqli.real-escape-string.php
При выводе в браузер ваш текст, независимо от того, ожидаете вы в нем теги или нет, должен пройти через htmlspecialchars() php.net/manual/ru/function.htmlspecialchars.php

Эти два простые правила позволят вам получить море наслаждений с минимальным риском.

Маленькое дополнение. Если в редакторе используется bbCode, то подумайте над хранением обеих версий текста: оригинальный текст с редактора и скомпилированный html-код. Так вам придется выполнять дорогую операцию компиляции bbCode лишь при изменении оригинала.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы