Как превратить HTML вместе с тегами в строку?
Хочу защитить сайт от XSS атак, на данные момент если в форме писать теги либо стили, они принимаються, тем самым ломается сайт и можно вставить туда текст хоть font-size: 50px:
вместо
Как выводить их строкой, а не html кодом?
Данные, которые получаю и отправляю обернул в String(), но не помогло
Дополнительно:
если в форме писать теги либо стили, они принимаються, тем самым ломается сайт и можно вставить туда текст хоть font-size: 50px:
и? вы их потом сохраняете и применяете на сайт?
во входящей строке надо заменить спец символы на коды, например так
function escapeHtml(text) { return text .replace(/&/g, "&amp;") .replace(/</g, "&lt;") .replace(/>/g, "&gt;") .replace(/"/g, "&quot;") .replace(/'/g, "&#039;"); } |
function escapeHtml(text) { return text .replace(/&/g, "&amp;") .replace(/</g, "&lt;") .replace(/>/g, "&gt;") .replace(/"/g, "&quot;") .replace(/'/g, "&#039;"); }
- Спасибо большое, работает!!
Ответы:
htmlspecialchars
- Прописывать при сохранении? То есть как htmlspecialchars(input.value)?
- Noder SS, да.
-
Не помогает
- Noder SS, это вообще функция обертка для php. А вы думали защитить форму на уровне клиентского javascript?
- Владимир Шаблий, сначало не дошло). Мне нужен вариант на node.js
- Noder SS,
node.js
с этого и надо было начинать)
Попробуйте этот вариант.
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос



Для преобразования HTML вместе с тегами в строку в PHP можно воспользоваться функцией htmlspecialchars(). Эта функция преобразует специальные символы в HTML сущности, что позволяет вставить HTML код в строку без его интерпретации браузером.
Пример использования:
$html = "<div><p>Пример HTML кода</p></div>"; $string = htmlspecialchars($html); echo $string;
В данном примере мы объявляем переменную $html, содержащую HTML код с тегами. Затем с помощью функции htmlspecialchars() преобразуем этот HTML код в строку и сохраняем результат в переменную $string. Наконец, выводим эту строку с помощью функции echo.
Таким образом, вы можете легко преобразовать HTML вместе с тегами в строку в PHP и использовать эту строку в своем коде.