✅ Nowości, motywy, wtyczki WEB i WordPress. Tutaj dzielimy się wskazówkami i najlepszymi rozwiązaniami dla stron internetowych.

Zatrzymaj klikanie, uniemożliwiając wczytywanie witryny WordPress w ramce

6

Clickjacking to potencjalne zagrożenie bezpieczeństwa spowodowane przez kogoś, kto ładuje Twoją witrynę w ramce w innej witrynie i sprawia, że ​​wygląda ona tak, jakby witryna była wiarygodna.

Na przykład, jeśli Twoja witryna wymaga zalogowania się użytkownika, złośliwa witryna może rejestrować nazwę użytkownika i hasła użytkowników, którzy logują się za pośrednictwem swojej witryny z ramkami za pomocą ataku typu clickjacking.

Na szczęście zapobieganie clickjackingowi w WordPressie jest dość proste. Możesz po prostu dodać ten mały fragment kodu do swojego functions.phppliku, aby ustawić X-FRAME-OPTIONSnagłówek naSAMEORIGIN.

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

Spowoduje to wysłanie nagłówka wraz z WordPress, który informuje przeglądarki, aby zapobiegały wyświetlaniu stron w ramkach, które nie są hostowane w tej samej domenie, co Twoja witryna.

Clickjacking i starsze przeglądarki

Starsze przeglądarki (przeglądarki starsze niż Internet Explorer 8 (IE8)) nie rozumieją X-FRAME-OPTIONSnagłówka, więc musimy wrócić do JavaScript. W tym celu możesz użyć następującego kodu:

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

Wewnątrz motywu utwórz folder o nazwie JS, a następnie wytnij i wklej ten fragment kodu do pliku o nazwie clickjack-protection.js.

Oczywiście chcemy umieścić powyższy skrypt w kolejce tylko w celu załadowania dla przeglądarek starszych niż IE8, więc możemy użyć do tego starej dobrej instrukcji warunkowej, umieszczając w functions.phppliku następujący kod:

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 );

Źródło nagrywania: wholesomecode.ltd

Ta strona korzysta z plików cookie, aby poprawić Twoje wrażenia. Zakładamy, że nie masz nic przeciwko, ale możesz zrezygnować, jeśli chcesz. Akceptuję Więcej szczegółów