Cosa significa forzare un sito web ad usare il protocollo https e perchè è importante farlo
Per navigare il sito con maggiore riservatezza, è necessario configurare il server per forzare i browser degli utenti a mostrare il sito web con il protocollo https. In particolare, l’https è utile per tenere maggiormente al sicuro i dati inseriti nei moduli (campi di ricerca, modulo per i contatti, modulo login).
Ma a volte il sito web è navigabile anche senza https. Infatti, se l'utente inserisce http://www.nomesitoweb.com potrebbe vedere la versione senza https. Allora per evitare questo, e fare in modo che anche in questo caso, l'utente venga redirezionato verso la versione https, aggiungiamo queste direttive nel file htaccess, che è presente nella cartella root di WordPress. E' un file non navigabile da browser e serve proprio a dare le direttive al server sul quale il sito web gira.
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]
Questo spingerà ad utilizzare l'https ma cosa dobbiamo fare quando risorse esterne e plugin collegano il sito a server http?
Cos’è l’errore di contenuto misto?
Quando un sito web utilizza il protocollo https, ma le risorse esterne (ad esempio le librerie javascript o css dei plugin di Facebook o Google Analytics) sono su un sito web http (quindi non https) il browser Google Chrome mostra il messaggio di errore “Contenuto misto” che fa pensare all’utente che quella pagina web (o peggio ancora, quel sito web) non sia abbastanza sicuro. Quindi se vogliamo forzare il sito web ad usare solo risorse https anche per le risorse esterne, inseriamo anche questa direttiva nel file htaccess.
Header always set Content-Security-Policy "upgrade-insecure-requests;"
Come modificare il file .htaccess?
E' necessario utilizzare una connessione FTP oppure utilizzare l'editor che spesso viene messo a disposizione dal fornitore di hosting. Oppure si può utilizzare il mio plugin che fra le altre cose, permette di modificare il file .htaccess senza utilizzare una connessione ftp.
