{"id":2291,"date":"2008-07-17T08:30:04","date_gmt":"2008-07-17T06:30:04","guid":{"rendered":"https:\/\/www.dreamsworld.it\/emanuele\/?p=2291"},"modified":"2016-05-17T11:06:20","modified_gmt":"2016-05-17T09:06:20","slug":"come-attivare-il-supporto-ssl-su-wordpress-26","status":"publish","type":"post","link":"https:\/\/www.dreamsworld.it\/emanuele\/2008-07-17\/come-attivare-il-supporto-ssl-su-wordpress-26\/","title":{"rendered":"Come attivare il supporto SSL su WordPress 2.6."},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" class=\"attachment wp-att-2294 alignleft\" src=\"\/\/www.dreamsworld.it\/emanuele\/wp-content\/uploads\/2008\/07\/2008-07-17_wordpress_logo.jpg\" alt=\"Logo WordPress\" width=\"150\" height=\"150\" \/><a title=\"WordPress 2.6\" href=\"https:\/\/wordpress.org\/news\/2008\/07\/wordpress-26-tyner\/\" target=\"_blank\">WordPress 2.6<\/a> include <strong>un supporto migliore<\/strong> per visitare la sezione di amministrazione via <a title=\"Wikipedia - Secure Sockets Layer\" href=\"https:\/\/it.wikipedia.org\/wiki\/Transport_Layer_Security\" target=\"_blank\">SSL<\/a>.<\/p>\n<p>Questa funzione ha bisogno che <strong>i cookie di autorizzazione<\/strong> siano inviati esclusivamente attraverso sessioni <em>HTTPS<\/em> (<em>cifrate<\/em>).<br \/>\nPer permettere questa possibilit\u00e0, <strong>lasciando la possibilit\u00e0<\/strong> di visitare il pannello di amministrazione tramite <em>HTTP<\/em> (<em>in chiaro<\/em>), WordPress 2.6 passa da un unico cookie ad <strong>una impostazione a 3 cookie<\/strong>.<\/p>\n<p>Nelle versioni precedenti WordPress impostava un cookie. Questo cookie era consegnato tramite <strong>tutte le pagine del blog<\/strong> sia attraverso connessioni SSL che tramite connessioni in chiaro ed insicure. Era consegnato alla homepage del blog ed alle pagine di amministrazione. Fornire un cookie nelle pagine esterne di WordPress permette di mostrare, ad esempio, i link di logout per l&#8217;utente. Per supportare adeguatamente l&#8217;SSL, WordPress deve essere in grado di inviare il cookie di autenticazione <strong>esclusivamente attraverso sessioni SSL<\/strong>. Se WordPress avesse continuato con un singolo cookie e l&#8217;avesse reso pi\u00f9 sicuro inviandolo solamente tramite sessioni SSL, quel cookie non avrebbe funzionato in homepage in quanto la maggior parte della gente non visita la propria homepage tramite SSL. Cos\u00ec, WordPress non sarebbe stato in grado di mostrare le informazioni dello stato dell&#8217;utente corrente.<\/p>\n<p>Per porre rimedio a questo, <em>WordPress 2.6<\/em>, <strong>separa i cookie<\/strong> di <em>&#8220;accesso&#8221;<\/em> e <em>&#8220;autenticazione&#8221;<\/em>. Il <strong>cookie di accesso<\/strong> \u00e8 inviato per tutte le pagine del blog <strong>attraverso sessioni SSL e non<\/strong> e non pu\u00f2 essere usato per accedere alle pagine di amministrazione. Questo cookie indica <strong>semplicemente<\/strong> che uno specifico utente \u00e8 connesso. Il cookie di accesso <strong>non pu\u00f2 esser usato<\/strong> per effettuare modifiche al blog.<\/p>\n<p>Il <strong>cookie di autenticazione<\/strong>, invece, \u00e8 inviato <strong>solo per l&#8217;area di amministrazione<\/strong> e pu\u00f2 essere usato per effettuare modifiche al blog. Se si effettua il login via <a title=\"Wikipedia - HTTPS\" href=\"https:\/\/it.wikipedia.org\/wiki\/HTTPS\" target=\"_blank\">HTTPS<\/a>, il cookie di autenticazione sar\u00e0 inviato solo per sessioni SSL. Se dunque si effettua il login via <em>HTTPS<\/em> e poi si visita il pannello di amministrazione tramite <a title=\"Wikipedia - HTTP\" href=\"https:\/\/it.wikipedia.org\/wiki\/Hypertext_Transfer_Protocol\" target=\"_blank\">HTTP<\/a>, sar\u00e0 necessario effettuare <strong>un nuovo login<\/strong> per ricevere un cookie di autenticazione non-SSL. Di default, \u00e8 possibile visitare la pagina di amministrazione <strong>sia via HTTP che HTTPS<\/strong>. Se si vuol far si che tutte le sessioni di amministrazione avvengano via <em>HTTPS<\/em>, \u00e8 necessario aggiungere la seguente riga al file <em>wp-config.php<\/em>:<\/p>\n<pre>define(\u2019FORCE_SSL_ADMIN\u2019, true);<\/pre>\n<p>Questo <strong>bloccher\u00e0 ogni accesso non-SSL al blog<\/strong>. Significa che non sar\u00e0 mai inviato un cookie di autenticazione in chiaro. Se si vuole far si che i login avvengano via SSL per prevenire che il nome utente e la password vengano inviate in chiaro ma <strong>permettere<\/strong> che gli utenti scelgano se usare l&#8217;<em>HTTP<\/em> o l&#8217;<em>HTTPS<\/em> per visitare il pannello di amministrazione, \u00e8 necessario aggiungere questa riga al file <em>wp-config.php<\/em>:<\/p>\n<pre>define(\u2019FORCE_SSL_LOGIN\u2019, true);<\/pre>\n<p>Questo fa si che <strong>non tutti i cookie siano inviati via SSL<\/strong>. Gli utenti possono <strong>scegliere<\/strong> tra la sicurezza di una sessione <em>HTTPS<\/em> e la velocit\u00e0 di una sessione <em>HTTP<\/em>. Se si vuol evitare questa possibilit\u00e0 e forzare l&#8217;uso di sessioni <em>HTTPS<\/em>, bisogna usare <em>FORCE_SSL_ADMIN<\/em>.<\/p>\n<p>Con questi nuovi cookie sono necessarie delle <strong>nuove chiavi segrete<\/strong>. WordPress 2.5 ha introdotto una <em>SECRET_KEY<\/em> come mezzo per aggiungere un po&#8217; di sicurezza aggiuntiva durante la creazione del cookie. Se si vuole usare il supporto SSL con la versione 2.6, sar\u00e0 necessario impostare le <strong>chiavi segrete per la sicurezza dei cookie<\/strong>. Se non intendete invece utilizzare il supporto SSL, \u00e8 sufficiente rimanere con la propria <em>SECRET_KEY<\/em>. Ecco un esempio di come sarebbero le definizioni delle nuove chiavi segrete:<\/p>\n<pre><code>define ( 'AUTH_KEY', 'metti qui la tua sequenza random');\r\ndefine ( 'SECURE_AUTH_KEY', 'metti qui la tua sequenza random');\r\ndefine ( 'LOGGED_IN_KEY', 'metti qui la tua sequenza random');<\/code><\/pre>\n<p>Dovreste cambiare questi esempi con sequenze di caratteri <strong>uniche<\/strong>, preferibilmente random. Ogni chiave dovrebbe essere diversa.  Per ricevere un set di chiavi random semplicemente da copiare ed incollare nel file <em>wp-config.php<\/em> andate <a title=\"Wordpress - Secret key\" href=\"http:\/\/api.wordpress.org\/secret-key\/1.1\/\" target=\"_blank\">qui<\/a>. Ancora una volta, se non si si intende utilizzare l&#8217;SSL, <strong>si pu\u00f2 continuare ad usare la <em>SECRET_KEY<\/em><\/strong> che si ha gi\u00e0 dalla versione 2.5 di WordPress.<\/p>\n<p>In linea di massima, tutto questo dovrebbe essere <strong>invisibile<\/strong> ai plugin ed ai temi. Ci sono per\u00f2 alcuni temi che inviano richieste <em>POST<\/em> e <em>AJAX<\/em> a file dentro la cartella dei temi. I cookie di autenticazione sono inviati <strong>solo<\/strong> per la cartella <em>wp-admin<\/em> e quella<em> wp-content\/plugins<\/em>, cos\u00ec i file aperti direttamente da <em>wp-content\/themes<\/em> <strong>non vedranno il cookie<\/strong>. I temi dovrebbero inviare le loro richieste <em>POST<\/em> e <em>AJAX<\/em> tramite i file <em>admin-post.php<\/em> e <em>admin-ajax.php<\/em>. C&#8217;\u00e8 un piccolo articolo nel <a title=\"Wordpress - Codex\" href=\"http:\/\/codex.wordpress.org\" target=\"_blank\">codex<\/a> su <strong>come i temi ed i plugin dovrebbero gestire<\/strong> le loro richieste <em>POST<\/em> e <em>AJAX<\/em>.<\/p>\n<p>I plugin potrebbero anche creare link che non sono prefissati correttamente con <em>&#8220;https&#8221;<\/em>. Qualsiasi contenuto in una pagina cifrata <strong>deve arrivare<\/strong> attraverso un link <em>HTTPS<\/em> per evitare gli avvisi del browser circa contenuti <strong>parzialmente cifrati<\/strong>. <em>WordPress 2.6<\/em> introduce <strong>cinque nuove funzioni che si occupano di gestire il protocollo giusto<\/strong> quando si caricano <em>CSS<\/em>, <em>JavaScript<\/em> e altri file in una pagina di amministrazione cifrata. Queste funzioni sono: <em>site_url()<\/em>, <em>admin_url()<\/em>, <em>includes_ur()<\/em>, <em>plugins_url()<\/em>, e <em>content_url()<\/em>. Ognuna accetta una path <em>&#8220;relativa&#8221;<\/em> rispettivamente per i link <em>site<\/em>, <em>admin<\/em>, <em>include<\/em>, <em>plugins<\/em> e <em>contents<\/em>. Per esempio per collegarsi a <em>wp-content\/plugins\/foo\/foo.php<\/em> basta usare <em>plugins_url(&#8216;foo\/foo.php&#8217;)<\/em>. I plugin che caricano <em>CSS<\/em> o <em>JavaScript<\/em> tramite link relativi <strong>non hanno bisogno<\/strong> di usare queste funzioni. I link relativi utilizzeranno <strong>automaticamente<\/strong> il protocollo corretto.<\/p>\n<p><strong>Emanuele<\/strong><\/p>\n<p>PS: libera traduzione di <a title=\"SSL and Cookies in WordPress 2.6\" href=\"http:\/\/ryan.boren.me\/2008\/07\/14\/ssl-and-cookies-in-wordpress-26\/\" target=\"_blank\">quanto scritto<\/a> da <em>Rayn<\/em>, sviluppatore di WordPress, se doveste notare qualche inesattezza non esitate a segnalarmela. \ud83d\ude42<\/p>\n","protected":false},"excerpt":{"rendered":"<p>WordPress 2.6 include un supporto migliore per visitare la sezione di amministrazione via SSL. Questa funzione ha bisogno che i cookie di autorizzazione siano inviati esclusivamente attraverso sessioni HTTPS (cifrate). Per permettere questa possibilit\u00e0, lasciando la possibilit\u00e0 di visitare il &hellip; <a href=\"https:\/\/www.dreamsworld.it\/emanuele\/2008-07-17\/come-attivare-il-supporto-ssl-su-wordpress-26\/\">Leggi ancora &rarr;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"activitypub_content_warning":"","activitypub_content_visibility":"","activitypub_max_image_attachments":4,"activitypub_interaction_policy_quote":"anyone","activitypub_status":"","footnotes":""},"categories":[4],"tags":[],"class_list":["post-2291","post","type-post","status-publish","format-standard","hentry","category-internet"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.dreamsworld.it\/emanuele\/wp-json\/wp\/v2\/posts\/2291","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dreamsworld.it\/emanuele\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dreamsworld.it\/emanuele\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dreamsworld.it\/emanuele\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dreamsworld.it\/emanuele\/wp-json\/wp\/v2\/comments?post=2291"}],"version-history":[{"count":0,"href":"https:\/\/www.dreamsworld.it\/emanuele\/wp-json\/wp\/v2\/posts\/2291\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.dreamsworld.it\/emanuele\/wp-json\/wp\/v2\/media?parent=2291"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dreamsworld.it\/emanuele\/wp-json\/wp\/v2\/categories?post=2291"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dreamsworld.it\/emanuele\/wp-json\/wp\/v2\/tags?post=2291"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}