Как превратить HTML вместе с тегами в строку?

Ссылка скопирована
1 ответ

Хочу защитить сайт от XSS атак, на данные момент если в форме писать теги либо стили, они принимаються, тем самым ломается сайт и можно вставить туда текст хоть font-size: 50px:

Как превратить HTML вместе с тегами в строку?

вместо

Как превратить HTML вместе с тегами в строку?

Как выводить их строкой, а не html кодом?
Данные, которые получаю и отправляю обернул в String(), но не помогло

Дополнительно:

если в форме писать теги либо стили, они принимаються, тем самым ломается сайт и можно вставить туда текст хоть font-size: 50px:

и? вы их потом сохраняете и применяете на сайт?

во входящей строке надо заменить спец символы на коды, например так

function escapeHtml(text) {   return text       .replace(/&/g, "&")       .replace(/</g, "<")       .replace(/>/g, ">")       .replace(/"/g, """)       .replace(/'/g, "'"); }

function escapeHtml(text) { return text .replace(/&/g, "&") .replace(/</g, "<") .replace(/>/g, ">") .replace(/"/g, """) .replace(/'/g, "'"); }

  • Спасибо большое, работает!!

Ответы:

htmlspecialchars

  • Прописывать при сохранении? То есть как htmlspecialchars(input.value)?
  • Noder SS, да.
  • Как превратить HTML вместе с тегами в строку?

    Не помогает

  • Noder SS, это вообще функция обертка для php. А вы думали защитить форму на уровне клиентского javascript?
  • Владимир Шаблий, сначало не дошло). Мне нужен вариант на node.js
  • Noder SS,

    node.js

    с этого и надо было начинать)
    Попробуйте этот вариант.

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Ирина WP Ответ

Для преобразования HTML вместе с тегами в строку в PHP можно воспользоваться функцией htmlspecialchars(). Эта функция преобразует специальные символы в HTML сущности, что позволяет вставить HTML код в строку без его интерпретации браузером.

Пример использования:

$html = "<div><p>Пример HTML кода</p></div>";
$string = htmlspecialchars($html);
echo $string;

$html = "<div><p>Пример HTML кода</p></div>"; $string = htmlspecialchars($html); echo $string;

В данном примере мы объявляем переменную $html, содержащую HTML код с тегами. Затем с помощью функции htmlspecialchars() преобразуем этот HTML код в строку и сохраняем результат в переменную $string. Наконец, выводим эту строку с помощью функции echo.

Таким образом, вы можете легко преобразовать HTML вместе с тегами в строку в PHP и использовать эту строку в своем коде.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно