Pubblicato il 03/12/12e aggiornato il

Come disabilitare il destro del mouse in tutto il blog di Blogger o solo in una o più pagine.

Come mandare un messaggio di diniego a chi prova a copiare i contenuti di una pagina cliccando sul destro del cursore.
Sono molti i blogger che si lamentano di come i loro contenuti vengano copiati da "colleghi" non proprio onesti. Non mi riferisco tanto agli aggregatori che succhiano i feed dei post senza neppure chiedere il consenso ma a chi fa materialmente del copia incolla degli articoli che si sono faticosamente confezionati. Questo tema è particolarmente sentito da chi lavora con immagini che richiedono molto tempo per essere create e due soli click per essere copiate e ripubblicate altrove.

La disabilitazione del destro del mouse rappresenta certamente un deterrente verso i copiatori ma ha la controindicazione di impedire di copiare qualsiasi cosa dal sito senza utilizzare delle tecniche particolari. Per esempio in questo blog se disabilitassi il destro del mouse non si potrebbero copiare i codici che inserisco in moltissimi articoli.

Vediamo come si possa impedire di copiare i contenuti di una o più pagine a cui teniamo particolarmente e che non vogliamo che vengano condivise con troppa facilità. Si va su Layout > Aggiungi un gadget > HTML/Javascript e si incolla il seguente codice

<script language=javascript>
<!--
var message="Il destro del mouse è disabilitato su questa pagina!";
function pulsantedestro(){
if (event.button==2){
alert(message);
return false;
}
}
function clickNS4(e){
if (document.layers||document.getElementById&&!document.all){
if (e.which==2||e.which==3){
alert(message);
return false;
}
}
}
if (document.layers){
document.captureEvents(Event.MOUSEDOWN);
document.onmousedown=clickNS4;
}
else if (document.all&&!document.getElementById){
document.onmousedown=pulsantedestro;
}
document.oncontextmenu=new Function("alert(message);return false")
// -->
</script>

dove la parte evidenziata di giallo, che è il messaggio che i navigatori visualizzeranno quando cliccano sul destro del cursore, può essere personalizzata a piacere. Si clicca su Salva e si posiziona a piacere nel Layout. In questo modo il destro del mouse sarà disabilitato su tutto il sito

disabilitare-destro-mouse

Ho anche realizzato la solita dimostrazione online



Se riteniamo eccessivo che agli utenti venga impedito di interagire con il cursore in tutto il blog, possiamo scegliere di inserire questa possibilità solo in una o più pagine che vogliamo assolutamente proteggere da potenziale copiatori. In questo caso dobbiamo dare un titolo fittizio al gadget HTML/Javascript su cui abbiamo incollato incollato il codice in modo da trovarlo più facilmente.
Si va su Modello > Modifica HTML > Procedi e si mette la spunta su Espandi i modelli widget. Si pigia su F3 o su Ctrl+F e si incolla il titolo del gadget per trovarlo nel modello . Si inseriscono i tag condizionali

<b:if cond='data:blog.url == "URL_del_POST"'></b:if>rispettivamente dopo
<b:includable id='main'>e prima di
</b:includable>

come mostrato nel seguente screenshot

tag-condizionali-widget

Al posto di URL_del_POST si incolla l'indirizzo della pagina da proteggere che può essere un articolo, una pagina statica o anche la homepage. Ricordo che se si ha un blog gratuito del tipo blogspot.com nell''URL del post va sostituito il .it con il canonico .com altrimenti il tag condizionale non funzionerà. Si salva il modello e la disabilitazione del mouse sarà funzionante solo in quella determinata pagina.

A questo punto si può anche togliere il titolo provvisorio che avevamo messo al widget per individuarlo meglio nel template. Se volessimo disabilitare il destro del mouse anche in un'altra pagina ripeteremo l'operazione andando su Layout > Aggiungi un gadget > HTML/Javascript e incollando lo stesso codice. Quindi inseriamo nel template un'altra condizione come la precedente che riguarderà però un altro URL. Si può anche impedire l'utilizzo del destro del mouse solo in una determinata immagine.  




26 commenti :

  1. Volevo farti pubblicamente i complimenti, intanto per la tua competenza, ma soprattutto per la semplicità con la quale spieghi le cose. Ho appena aperto un blog partendo da zero, ed è solo grazie ai tuoi PAZIENTI consigli che sono riuscita a districarmi in cose che non avevo mai visto prima, e il fatto che sono ANCHE riuscita a capirle vuol dire che sei davvero bravo!!! :-)
    ti meriti il posto d'onore fra i miei preferiti e il mio blogroll, continua così e grazie ancora
    Cristina

    RispondiElimina
  2. Disabilitare il tasto dx - oltre a non fermare gli utenti più "smaliziati" - purtroppo blocca anche la possibilità di aprire i link in una nuova scheda.

    RispondiElimina
  3. Mi hai letto nel pensiero.... proprio ieri mi era venuto in mente di cercare su internet come disabilitare il tasto destro nel blog! Grazie mille!

    RispondiElimina
  4. @ ...
    Ho scritto chiaramente nel post che uno che ci capisce abbastanza di informatica non si ferma certo davanti al destro del mouse che non funziona così come questa opzione abbia delle controindicazioni. Ringrazio dei complimenti che sono sempre ben accetti :D

    RispondiElimina
    Risposte
    1. Sì, lo so. Forse non mi sono spiegata bene io, scusa. Dicevo solo che blocca anche la possibilità di aprire link in una nuova scheda. A ogni modo, con i tag condizionali può tornare utile, visto che un utente in una community molto famosa mi ha appena fatto inca...volare e non vorrei si facesse strane idee sulla possibilità di arraffare il mio lavoro.

      Elimina
    2. ciao bastet, la possibilità di aprire link in una nuova scheda è bloccata solo se chi ha scritto il post non ha messo il target "_blank" ai link :) ...io ho usato questo codice nel mio blog solo su alcune pagine e mi è tornato molto utile, approfitto quindi per ringraziare ernesto per la dritta! e complimenti per il sito :)

      Elimina
  5. Bella guida, complimenti, c'è qualcosa anche per disabilitare la combinazione Ctrl + C, grazie

    RispondiElimina
  6. @ Bastet...
    @StefanoBruno
    Se si vuole inserire una ulteriore protezione lasciando perdere le ovvie controindicazioni può essere tolta la possibilità di selezionare il testo. In questo modo non funziona neppure la combinazione Ctrl+C perché non è stato possibile selezionare nulla da copiare
    http://www.ideepercomputeredinternet.com/2012/09/disabilitare-highlight-testo-cursore.html
    però con Firefox la possibilità di evidenziare rimane.

    RispondiElimina
    Risposte
    1. Grazie mille. Mi sono limitata a inserire il blocco del tasto dx all'interno dei post (sono tutti racconti quindi non ci sono link a siti esterni). E' più un reminder che un deterrente, ricordando agli utenti che sui contenuti è applicata una licenza CC.

      Elimina
  7. Grazie mille Ernesto, i tuoi articoli sono sempre utili e chiari...questo poi va benissimo per scoraggiare un pò di neo-blogger copioni!
    Complimenti per il tuo ottimo lavoro e grazie ancora!

    RispondiElimina
  8. come se prr utile #ernesto e,come sempre saiche:se accedo da Brrowser alla oagina vua HTML(5) volendo ,prelevo persino i cofici Java e Javadcript Figurarsi un url per le immagini Ds grafica ,per foto e immagini consiglio sempre di "firmare i propri lavori in punti straregici de :l'immagine stessa



    p.s. Sorry evenguali errori di ortografia.Dihiyo da snartphone XD O:-)

    RispondiElimina
  9. Ciao Ernesto, una domanda che non c'entra niente con questo articolo: sai per caso come fare per aggiornare automaticamente i risultati di una partita?? (in tempo reale!)

    Potresti scrivere un articolo su questo? Grazie, sei sempre molto gentile!

    RispondiElimina
  10. E' possibile, anzichè per una o più pagine, tenerlo abilitato per delle etichette?

    RispondiElimina
    Risposte
    1. @ Benzene
      Per tutte le pagine che hanno una data etichetta no. Bisognerebbe inserire la disabilitazione per tutti i post interessati

      Elimina
  11. complimenti, ti seguo spesso... questa volta mi sono aggiunto ai tuoi follower :) se puoi ricambiare... http://allforyoututtoperte.blogspot.it/ grazie... ^_^ by Sax

    RispondiElimina
  12. Grazie mille, articolo veramente utile e molto ben spiegato!

    RispondiElimina
  13. grazie per queste informazioni preziose e non solo, anche molto chiare

    RispondiElimina
  14. Ho appena testato il codice e non funziona bene. L'ho testato Mozilla Firefox. Questo browser da la possibilità di impedire al sito di aprire finestre di dialogo. Una volta spuntata l'opzione (che esce comodamente sotto la stessa finestra appena aperta), il menù contestuale torna disponibile (a tratti riappare anche il messaggio, ma cliccando di nuovo, torna il meù contestuale)
    Ti suggerisco di cancellare il "var message.." e tutti gli "alert(message);".
    In questo modo funziona (ma non appare nessuna finestra di dialogo).

    In alcuni siti ho notato che adottano alcune soluzioni di questo tipo:
    1) Dopo aver copiato un testo qualsiasi, quando lo si va ad incollare appaiono all'interno del testo incollato alcune frasi come l'URL del sito di provenienza, o messaggi di vario genere.
    2) Dopo aver copiato un testo, quando lo si va ad incollare, le parole sono in ordine sparso. Ho dato uno sguardo alla sorgente di queste pagine e ho capito che ogni singola parola è racchiusa tra dei tag che identificano se questa parola debba essere visualizzata o meno a schermo. In pratica, quando si visita normalmente la pagina, le parole in più vengono omesse (tutte contrassegnate dagli stessi identificativi), mentre quando si va a copiare, le parole in più vengono copiate ed è praticamente impossibile ricostruire a mano il testo. Questo da non pochi problemi a chi volesse copiare testi altrui. E' molto meglio delal disattivazione del tasto destro.
    Ma.. come si fa?

    RispondiElimina
    Risposte
    1. Come scritto nel post è solo un modo per disincentivare i copiatori. Ci sono sistemi per aggiungere automaticamente i link ai post copiati
      http://www.ideepercomputeredinternet.com/2013/04/tynt-to-add-link-copy-post.html
      @#

      Elimina
    2. Grazie. :)
      Ti consiglio di verificare tu stesso quanto ti ho detto circa il problema con il messaggio alert. Eliminandoli, si rende il codice perfetto. :)

      Elimina
  15. Grazie mille per questa info importantissima... proverò ad attivarla nel mio blog per precauzione ^_^ Alla prossima.... nuova follower ^_^

    RispondiElimina
  16. ciao Ernesto sarebbe possibile invece se ho disabilitato il tasto dx in tutto il blog tenerlo abilitato solo per un widget?(che sarebbe l'immagine del mio banner con la tex area?) oppure in alternativa disabilitarlo per tutti i post ma in una volta sola senza mettere l'url di ogni post? Grazie Veronica

    RispondiElimina
    Risposte
    1. Puoi risolvere in diversi modi. Invece di mettere una textarea per copiare il codice puoi far cliccare con il sinistro del mouse e aprire un documento esterno al tuo sito con il codice. Forse è troppo complicato. Puoi in alternativa postare il codice in un singolo post e disabilitare il destro del mouse in tutte le pagine del blog escluso quel post usando i tag condizionali
      http://www.ideepercomputeredinternet.com/2013/03/tag-condizionali-blogger.html
      Seguendo le istruzioni della seconda parte del post devi inserire questo codice
      <b:if cond='data:blog.url != "URL_PAGINA"'>
      prima di
      <b:includable id='main'>
      e
      </b:if>
      prima di
      </b:includable>

      dove al posto di URL_PAGINA dvi inserire l'indirizzo con .com se il tuo blog è gratuito del post in cui invece sarà possibile usare il destro dl mouse. Poi la textarea la metti in quel post magari con un link nella homepage
      @#

      Elimina
  17. Grazie sempre utile questo codice!

    RispondiElimina

Non inserire link cliccabili altrimenti il commento verrà eliminato. Metti la spunta a Inviami notifiche per essere avvertito via email di nuovi commenti. Se ti ho aiutato con il post o con le risposte ai commenti condividi su Facebook o su Twitter. Grazie.