✅ Новости WEB и WordPress, темы, плагины. Здесь мы делимся советами и лучшими решениями для веб-сайтов.

Остановите Clickjacking, запретив загрузку вашего сайта WordPress во фрейме

32

Clickjacking — это потенциальная угроза безопасности, вызванная тем, что кто-то загружает ваш веб-сайт внутри фрейма на другом веб-сайте и делает вид, что веб-сайт является законным, однако они будут перехватывать ваши взаимодействия с этим сайтом, такие как отправка форм.

Например, если ваш веб-сайт требует, чтобы пользователь вошел в систему, вредоносный веб-сайт может регистрировать имя пользователя и пароли пользователей, которые входят в систему через свой созданный сайт с помощью атаки кликджекинга.

К счастью, предотвратить кликджекинг в WordPress довольно просто. Вы можете просто добавить этот небольшой фрагмент кода в свой functions.phpфайл, чтобы установить X-FRAME-OPTIONSзаголовокSAMEORIGIN.

function wc_prevent_clickjacking() { header( 'X-FRAME-OPTIONS: SAMEORIGIN' ); } add_action( 'send_headers', 'wc_prevent_clickjacking', 10 );

Это отправит заголовок вместе с WordPress, который сообщает браузерам, чтобы страницы не отображались во фреймах, которые не размещены в том же домене, что и ваш сайт.

Clickjacking и старые браузеры

Старые браузеры (браузеры старше Internet Explorer 8 (IE8)) не понимают X-FRAME-OPTIONSзаголовок, поэтому нам нужно вернуться к JavaScript. Для этого вы можете использовать следующий код:

try { top.document.domain } catch (e) { var f = function() { document.body.innerHTML = ''; }; setInterval( f, 1 ); if (document.body) { document.body.onload = f; }; }

Внутри вашей темы создайте папку с именем JS, вырежьте и вставьте этот фрагмент кода в файл с именем clickjack-protection.js.

Конечно, мы хотим поставить приведенный выше скрипт в очередь для загрузки только для браузеров старше IE8, поэтому для этого мы можем использовать старый добрый условный оператор, поместив следующий код в ваш functions.phpфайл:

function wc_prevent_clickjacking_older_browsers() { $script_url = get_stylesheet_directory_uri(). 'js/clickjack-protection.js'; wp_enqueue_script( 'clickjack-protection-js', $script_url ); wp_script_add_data( 'clickjack-protection-js', 'conditional', 'lt IE 8' ); } add_action( 'wp_enqueue_scripts', 'wc_prevent_clickjacking_older_browsers', 10 );

Источник записи: wholesomecode.ltd

Этот веб-сайт использует файлы cookie для улучшения вашего опыта. Мы предполагаем, что вы согласны с этим, но вы можете отказаться, если хотите. Принимаю Подробнее