Что такое clickjacking и как от него защититься?
Атаки на клиент
Clickjacking — атака, при которой ваш сайт загружают в невидимом iframe поверх чужой страницы, и пользователь, думая, что кликает по безобидной кнопке, нажимает на элемент вашего сайта.
Пример
Сверху лежит страница «Выиграйте приз», а под кнопкой невидимо расположена кнопка «Подтвердить перевод» вашего банка в прозрачном iframe.
Защита
Запретить встраивание страницы в чужие фреймы заголовками:
Content-Security-Policy: frame-ancestors 'self'
X-Frame-Options: DENYframe-ancestors— современный механизм, он гибче: можно перечислить доверенные домены.X-Frame-Options— устаревший заголовок для старых браузеров.- JavaScript-проверки вроде
if (top !== self)ненадёжны: их можно обойти атрибутомsandboxу iframe.
Коротко для собеседования
Clickjacking прячет ваш сайт в iframe. Защита серверная: frame-ancestors в CSP и X-Frame-Options.