HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > БЕЗОПАСНОСТЬ И УЯЗВИМОСТИ > Уязвимости > Веб-уязвимости
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Как защитить сайт от XSS — личный опыт
  #1  
Старый 21.06.2026, 16:50
Crownless
Новичок
Регистрация: 27.10.2004
Сообщений: 5
С нами: 11335342

Репутация: 0
По умолчанию Как защитить сайт от XSS — личный опыт

Введение
XSS (Cross-Site Scripting) — одна из самых распространённых веб-уязвимостей, которая позволяет злоумышленникам внедрять вредоносные скрипты прямо в страницы сайта. Для тех, кто развивает свои проекты, важно понимать, как не дать этим скриптам пройти через ваши формы ввода и другие места. Расскажу, что помогает мне в защите от XSS и на что стоит обратить внимание сразу.

Что это такое
XSS — это когда на сайте появляется возможность вставить и выполнить свой JavaScript код. Например, если у вас есть поле комментариев, и кто-то туда вставляет скрипт, который выполняется у других посетителей. Есть три типа XSS: отражённый (reflected), сохранённый (stored) и DOM-based. Все они по сути приводят к тому, что чужой код запускается на стороне пользователя, что опасно для безопасности и репутации сайта.

Где применяется
XSS чаще всего встречается на динамических страницах — блоги, форумы, формы обратной связи, поисковики, везде, где принимаются данные от пользователей. Особенно уязвимы сайты на популярных CMS, если не настроена фильтрация ввода. Также баг может проскользнуть в веб-приложениях с большим количеством клиентского взаимодействия, где активно используется JavaScript.

Практические примеры
1) Отображение пользовательских данных без экранирования.
2) Загрузка комментариев на страницу без фильтров.
3) Динамическое создание HTML из user input без проверки.

Например, я сталкивался с тем, что на сайте, где не экранируется тег <script>, пользователь мог вставить alert() — очевидный, но действенный тест для XSS. Через эту дыру потенциально можно украсть cookies, внедрить фишинговые формы или просто испортить контент.

Типичные ошибки
- Не использовать функции экранирования ввода (htmlspecialchars в PHP, encodeURIComponent в JS).
- Доверять клиентскому коду (например, допустим, что проверка на фронте — она всегда может быть обойдена).
- Хранить «сырые» данные без фильтрации в базе.
- Игнорировать Content Security Policy (CSP) — простая защита, которую легко внедрить, но часто забывают.
- Писать сложные шаблоны вручную вместо проверенных библиотек.

Полезные инструменты
- OWASP ZAP и Burp Suite — сканеры, которые помогут отловить XSS.
- Content Security Policy — настраиваемая политика, которая запретит выполнение неподписанных скриптов.
 
Ответить с цитированием

  #2  
Старый 22.06.2026, 01:50
slam-hack
Новичок
Регистрация: 23.01.2013
Сообщений: 5
С нами: 7000886

Репутация: 0
По умолчанию

Я пока только начинаю разбираться, но заметил, что если просто выводить то, что вводит юзер, без всякой обработки, то XSS сразу влетает. Сделал у себя htmlspecialchars — стало лучше, но косвенно понял, что важно ещё и на стороне клиента прикручивать фильтрацию, и не доверять вообще ничему, что снизу пришло. CSP еще не пробовал, но слышал, что это как дополнительный бонус безопасности. Пока разбираюсь, но базовое экранирование — обязательно.
 
Ответить с цитированием

  #3  
Старый 22.06.2026, 06:30
streetmaster
Новичок
Регистрация: 07.08.2004
Сообщений: 9
С нами: 11451032

Репутация: 0
По умолчанию

Да, htmlspecialchars реально спасает от базовых XSS, но лучше на всякий случай добавлять CSP — это как страховка, если что-то проскочит. И да, клиентскую проверку нельзя считать надежной, всё надо дублировать на сервере.
 
Ответить с цитированием

  #4  
Старый 23.06.2026, 17:30
d1amon
Новичок
Регистрация: 13.11.2012
Сообщений: 5
С нами: 7103126

Репутация: 0
По умолчанию

htmlspecialchars помогает поймать базовые XSS, но без CSP всё равно можно получить неприятности, если что-то проскочит. CSP — это как сетка безопасности, дополняет защиту, особенно когда где-то затычка может не сработать. Клиентская фильтрация — не панацея, серверную проверку менять нельзя. В итоге лучше вместе использовать, тогда надежнее.
 
Ответить с цитированием
Ответ



Предыдущая тема Следующая тема

Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.