{"id":228866,"date":"2022-10-12T09:49:00","date_gmt":"2022-10-12T06:49:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=228866"},"modified":"2022-11-09T04:35:25","modified_gmt":"2022-11-09T01:35:25","slug":"ferma-il-clickjacking-impedendo-al-tuo-sito-wordpress-di-caricare-in-un-frame","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/it\/ferma-il-clickjacking-impedendo-al-tuo-sito-wordpress-di-caricare-in-un-frame\/","title":{"rendered":"Ferma il clickjacking impedendo al tuo sito WordPress di caricare in un frame"},"content":{"rendered":"<p><a href=\"https:\/\/hashnode.com\/@wholesomecode\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external\"><\/a><\/p>\n<p>Il clickjacking \u00e8 un potenziale rischio per la sicurezza causato da qualcuno che carica il tuo sito Web all&#8217;interno di un frame su un altro sito Web e fa sembrare che il sito Web sia legittimo, tuttavia dirottano le interazioni che fai con quel sito, come l&#8217;invio di moduli.<\/p>\n<p>Ad esempio, se il tuo sito Web richiede a un utente di accedere, il sito Web dannoso potrebbe registrare il nome utente e le password degli utenti che accedono tramite il loro sito incorniciato tramite un attacco clickjacking.<\/p>\n<p>Fortunatamente prevenire il clickjacking in WordPress \u00e8 abbastanza semplice. Puoi semplicemente aggiungere questo piccolo frammento di codice nel tuo <code>functions.php<\/code>file per impostare l&#8217; <code>X-FRAME-OPTIONS<\/code>intestazione<code>SAMEORIGIN.<\/code><\/p>\n<pre><code>\nfunction wc_prevent_clickjacking() {\n    header( 'X-FRAME-OPTIONS: SAMEORIGIN' );\n}\nadd_action( 'send_headers', 'wc_prevent_clickjacking', 10 );\n<\/code><\/pre>\n<p>Questo invier\u00e0 un&#8217;intestazione insieme a WordPress che dice ai browser di impedire la visualizzazione di pagine in frame che non sono ospitati sullo stesso dominio del tuo sito web.<\/p>\n<h2>Clickjacking e browser meno recenti<\/h2>\n<p>I browser pi\u00f9 vecchi (browser pi\u00f9 vecchi di Internet Explorer 8 (IE8)) non capiscono l&#8217; <code>X-FRAME-OPTIONS<\/code>intestazione, quindi dobbiamo ricorrere a JavaScript. Per questo \u00e8 possibile utilizzare il seguente codice:<\/p>\n<pre><code>\ntry { top.document.domain } catch (e) {\n    var f = function() {\n        document.body.innerHTML = '';\n    };\n    setInterval( f, 1 );\n    if (document.body) {\n        document.body.onload = f;\n    };\n}\n<\/code><\/pre>\n<p>All&#8217;interno del tuo tema crea una cartella denominata <code>JS<\/code>e taglia e incolla quel frammento di codice in un file chiamato <code>clickjack-protection.js<\/code>.<\/p>\n<p>Ovviamente vogliamo solo accodare lo script sopra da caricare per i browser pi\u00f9 vecchi di IE8, quindi possiamo usare una buona vecchia istruzione condizionale per farlo, inserendo il seguente codice nel tuo <code>functions.php<\/code>file:<\/p>\n<pre><code>\n function wc_prevent_clickjacking_older_browsers() {\n    $script_url = get_stylesheet_directory_uri(). 'js\/clickjack-protection.js';\n    wp_enqueue_script(\n        'clickjack-protection-js',\n        $script_url\n    );\n\n    wp_script_add_data( 'clickjack-protection-js', 'conditional', 'lt IE 8' );\n}\nadd_action( 'wp_enqueue_scripts', 'wc_prevent_clickjacking_older_browsers', 10 );\n<\/code><\/pre>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fonte di registrazione:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/wholesomecode.ltd\" class=\"external external_icon\">wholesomecode.ltd<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Il clickjacking \u00e8 un potenziale rischio per la sicurezza causato da qualcuno che carica il tuo sito Web all&#8217;interno di un frame su un altro sito Web e fa sembrare che il sito Web sia legittimo, tuttavia il&#8230;<\/p>\n","protected":false},"author":1,"featured_media":224174,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[],"tags":[1168],"class_list":["post-228866","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","tag-affiai-it"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/posts\/228866","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/comments?post=228866"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/posts\/228866\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/media\/224174"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/media?parent=228866"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/categories?post=228866"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/tags?post=228866"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}