Come creare sezioni del blog protette da password di accesso senza che queste risultino visibili nel sorgente pagina.
Una delle richieste più comuni che mi vengono fatte e che vengono postate nei vari forum è quella di creare una sezione del sito di Blogger da rendere accessibile solo a utenti selezionati che ne possiedano la password. Mi sono già occupato del tema di come proteggere contenuti del blog con una password ma una grossa limitazione di tale sistema era che chiunque avrebbe potuto visualizzare la password accedendo al sorgente pagina.
Ricordo che si può visualizzare il codice HTML di una pagina web semplicemente pigiando su Ctrl+U che è una scorciatoia da tastiera che funziona con tutti i browser. La soluzione ottimale di questo problema sarebbe quella di utilizzare un file PHP caricato su un hosting di cui si abbia l'accesso al File Manager. I file PHP non possono essere infatti visualizzati dal navigatore.
Una ottima alternativa è quella di usare la codifica Unescape che ci consente di nascondere la password di accesso mediante l'utilizzo di caratteri diversi da quelli soliti latini a cui siamo abituati. Un esperto di linguaggi di programmazione riuscirebbe comunque a carpire la password decodificandola ma questo vale per quasi tutti i siti visto che nessuno è immune dagli hacker.
Se avete un blog che non parla di temi tecnici e che non sia frequentato da super esperti di informatica questa soluzione per proteggere una o più pagine penso sia oltremodo sicura. Per prima cosa dovrà essere pubblicato il post o la pagina che vogliamo proteggere con password quindi si potrà anche pubblicare una sorta di landing page per coloro che inserissero la password sbagliata. Quest'ultima dovrà essere codificata con lo strumento Unescape Decoder & Encoder. Ricordo che le password sono case sensitive e che quindi dovranno essere considerate anche eventuali maiuscole.
Vediamo per esempio come l'espressione PARSIFAL32, cliccando su Encode, sia stata convertita in
%50%41%52%53%49%46%41%4C%33%32%20
come mostrato dallo screenshot seguente
Per inserire una password di protezione a una certa pagina del blog occorre andare su Modello > Modifica HTML > Procedi e cercare la riga </head>. Subito sopra si incolla il seguente codice
<!-- Accesso con Password Inizio -->
<b:if cond='data:blog.url == "URL_POST_RISERVATO"'>
<script language='javascript'>
//<![CDATA[
var accesso = prompt("Digita la password per accedere alla pagina.")
if (accesso!="document.write( unescape( 'PASSWORD_CODIFICATA' ) );")
{location.href='URL_PAGINA_ERRORE'}
else
{alert('La password è corretta. Accesso consentito')}
//]]>
</script></b:if>
<!-- Accesso con Password Fine -->
<b:if cond='data:blog.url == "URL_POST_RISERVATO"'>
<script language='javascript'>
//<![CDATA[
var accesso = prompt("Digita la password per accedere alla pagina.")
if (accesso!="document.write( unescape( 'PASSWORD_CODIFICATA' ) );")
{location.href='URL_PAGINA_ERRORE'}
else
{alert('La password è corretta. Accesso consentito')}
//]]>
</script></b:if>
<!-- Accesso con Password Fine -->
dove le espressioni in blu possono essere personalizzate. In URL_POST_RISERVATO e in URL_PAGINA_ERRORE vanno incollati gli indirizzi della pagina da proteggere e quello della landing page per che non riuscisse a passare la protezione della password. Ricordo che se avete un dominio gratuito vale a dire del tipo blogspot.com e volete proteggere un articolo, va inserito l'URL canonico e non quello localizzato. In sostanza dovete sostituire .it con .com nell'indirizzo.
Vedrete una scheda bianca con un modulo per inserire la password
che ricordo essere PARSIFAl32. Solo se la digiterete correttamente, dopo aver cliccato su OK, vi potrete accedere, altrimenti sarete indirizzati a questa landing page. Per facilitare ulteriormente il compito di chi voglia utilizzare questo hack vi riporto il codice che ho effettivamente inserito nel template
<!-- Accesso con Password Inizio -->
<b:if cond='data:blog.url == "http://nivo-slider-demo.blogspot.com/2011/04/post-cui-si-puo-accedere-solo-mediante.html"'>
<script language='javascript'>
//<![CDATA[
var accesso = prompt("Digita la password per accedere alla pagina.")
if (accesso!="document.write( unescape( '%50%41%52%53%49%46%41%4C%33%32' ) );")
{location.href='http://nivo-slider-demo.blogspot.com/2011/04/pagina-di-errore.html'}
else
{alert('La password è corretta. Accesso consentito')}
//]]>
</script></b:if>
<!-- Accesso con Password Fine -->
<b:if cond='data:blog.url == "http://nivo-slider-demo.blogspot.com/2011/04/post-cui-si-puo-accedere-solo-mediante.html"'>
<script language='javascript'>
//<![CDATA[
var accesso = prompt("Digita la password per accedere alla pagina.")
if (accesso!="document.write( unescape( '%50%41%52%53%49%46%41%4C%33%32' ) );")
{location.href='http://nivo-slider-demo.blogspot.com/2011/04/pagina-di-errore.html'}
else
{alert('La password è corretta. Accesso consentito')}
//]]>
</script></b:if>
<!-- Accesso con Password Fine -->
dove URL e password sono stati colorati di rosso. Chi accederà al sorgente pagina non potrà visualizzare la password, la potrà scoprire solo decodificandola con un tool come quello che ho indicato. Tale procedura ritengo però che sia a conoscenza solo di persone esperte di linguaggi di programmazione. Per la stragrande maggioranza dei navigatori la password risulterà assolutamente non decifrabile. Concludo ricordando che se volete proteggere anche altre pagine statiche o altri post non vi resta che incollare nel modello un altro codice come il precedente con un nuovo indirizzo.
Aggiornamento importante: Solo a articolo ultimato mi sono accorto che il sistema non funziona e che la password corretta da inserire nella demo di prova sarebbe stata
document.write( unescape( '%50%41%52%53%49%46%41%4C%33%32' ) );
Ho perso un'ora di tempo per creare un meccanismo che non funziona, pazienza. Per chi voglia inserire una password per il momento è bene che faccia sempre riferimento al post precedente.
Aggiornamento importante: Solo a articolo ultimato mi sono accorto che il sistema non funziona e che la password corretta da inserire nella demo di prova sarebbe stata
document.write( unescape( '%50%41%52%53%49%46%41%4C%33%32' ) );
Ho perso un'ora di tempo per creare un meccanismo che non funziona, pazienza. Per chi voglia inserire una password per il momento è bene che faccia sempre riferimento al post precedente.
Ciao Ernesto, ma secondo te bloccando una pagina del blog (blogger) con il sistema che hai spiegato in questo post, si evita lo spam? Nella pagina che vorrei bloccare ci sono form (generati con google drive) per l'invio di informazioni e richieste. Non ho trovato nulla per inserire un captcha in un modulo google e questa tua soluzione mi sembra l'unica strada. Grazie al solito per la tua disponibilità!!
RispondiElimina@# Può essere una soluzione ma si può impedire a Google di indicizzarla. Non ho notizie certe al riguardo.
Eliminaciao ma per avere più pagine con password basterà copiare il codice più volte cambiando il link e ovviamente password?
RispondiEliminaCerto. Devi aggiungere un blocco di codice per ogni pagina che vuoi proteggere
Elimina@#
Ciao Ernesto,
RispondiEliminaavevo nei mesi scorsi impostato una pagina con la password ma adesso, che voglio cambiare la password, non riesco piu a trovare il codice nella versione html, eppure la password c'è sempre in quanto richiesta all'accesso. come devo fare? se faccio ricerca nel html non compare. Grazie mille
Se hai inserito questo codice basta che tu faccia una ricerca nel codice del modello per esempio con la stringa
Eliminavar accesso
ma fai riferimento a questo post
https://www.ideepercomputeredinternet.com/2011/04/come-inserire-una-password-di-accesso.html
@#