Хочу защитить сайт от XSS атак, на данные момент если в форме писать теги либо стили, они принимаються, тем самым ломается сайт и можно вставить туда текст хоть font-size: 50px:
вместо
Как выводить их строкой, а не html кодом?
Данные, которые получаю и отправляю обернул в String(), но не помогло
Дополнительно:
Содержание
если в форме писать теги либо стили, они принимаються, тем самым ломается сайт и можно вставить туда текст хоть font-size: 50px:
и? вы их потом сохраняете и применяете на сайт?
во входящей строке надо заменить спец символы на коды, например так
|
1 |
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
с этого и надо было начинать)
Попробуйте этот вариант.
Для решения данной проблемы вы можете воспользоваться услугами фрилансеров. Мы выполним необходимую работу быстро и качественно.
Оставить комментарий Отменить
Ответы
- Есть ответ! к записи Как уменьшить масштаб меньше 100% в Windows 10 (22H2)
- Есть ответ! к записи Аналоги CloudFlare в России?
- Есть ответ! к записи Аналоги CloudFlare в России?
- Есть ответ! к записи Как называется человек, который дизайн придумает для сайта и сверстает его?
- Есть ответ! к записи Можно ли установить Яндекс.Диск на АльтЛинукс?
- Есть ответ! к записи Картинки мутные только на сафари, есть выход?
- Есть ответ! к записи Keenetic. Как настроить SSTP клиент с сертификатом?
- Есть ответ! к записи Чем заменить executor в aiogram 3?



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