✅ WEB і WordPress новини, теми, плагіни. Тут ми ділимося порадами і кращими рішеннями для сайтів.

Зупиніть Clickjacking, заборонивши завантажувати свій сайт WordPress у фреймі

23

Клікджекінг — це потенційна загроза безпеці, спричинена тим, що хтось завантажує ваш веб-сайт у фрейм на іншому веб-сайті та створює враження, ніби веб-сайт є законним, однак вони будуть перехоплювати ваші взаємодії з цим сайтом, наприклад надсилання форм.

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

На щастя, запобігти клікджекінгу в 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 буде надіслано заголовок, який повідомляє браузерам не допускати відображення сторінок у фреймах, розміщених не в тому самому домені, що й ваш веб-сайт.

Клікджекінг і старіші браузери

Старіші браузери (браузери старші за 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, щоб покращити ваш досвід. Ми припустимо, що з цим все гаразд, але ви можете відмовитися, якщо захочете. Прийняти Читати далі