Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

Как лучше всего защититься от межсайтового скриптинга?

ИнтернетХакеры
Анонимный вопрос
  · 365
тыжпрограммист   · 23 янв 2019  · tele.click/origin_of_species

Главное правило при разработке - не доверять пользовательскому вводу. При выводе информации на страницу нужно выводить только тот тип информации, который вы планировали. Ваша задача обсепечить безопасный вывод на стороне клиента, поэтому, например, prepared statements при работе с базой данных являются полезной практикой, но совсем от XSS не защищают.

Мой список не претендует на полноту, но это точно минимум:

1) экранирование + очистка ввода (например удаление html-тэгов)

2) управление Content Security Policy, чтобы избежать загрузки скриптов с других сайтов (см. также CSRF)

3) шаблонизация вывода. Не стоит выводить пользовательский ввод as-is. Лучше пропустить его через шаблонизатор, который сам при необходимости сэкранирует символы.

4) для пользователей: не кликать на ссылки в почте :)