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>
<!--
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
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
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.
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!!! :-)
RispondiEliminati meriti il posto d'onore fra i miei preferiti e il mio blogroll, continua così e grazie ancora
Cristina
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.
RispondiEliminaMi 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@ ...
RispondiEliminaHo 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
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.
Eliminaciao 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 :)
EliminaBella guida, complimenti, c'è qualcosa anche per disabilitare la combinazione Ctrl + C, grazie
RispondiElimina@ Bastet...
RispondiElimina@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.
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.
EliminaGrazie mille Ernesto, i tuoi articoli sono sempre utili e chiari...questo poi va benissimo per scoraggiare un pò di neo-blogger copioni!
RispondiEliminaComplimenti per il tuo ottimo lavoro e grazie ancora!
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
RispondiEliminap.s. Sorry evenguali errori di ortografia.Dihiyo da snartphone XD O:-)
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!)
RispondiEliminaPotresti scrivere un articolo su questo? Grazie, sei sempre molto gentile!
Non è il mio campo :)
EliminaE' possibile, anzichè per una o più pagine, tenerlo abilitato per delle etichette?
RispondiElimina@ Benzene
EliminaPer tutte le pagine che hanno una data etichetta no. Bisognerebbe inserire la disabilitazione per tutti i post interessati
ottimo articolo, grazie!
RispondiEliminacomplimenti, ti seguo spesso... questa volta mi sono aggiunto ai tuoi follower :) se puoi ricambiare... http://allforyoututtoperte.blogspot.it/ grazie... ^_^ by Sax
RispondiEliminaGrazie mille, articolo veramente utile e molto ben spiegato!
RispondiEliminagrazie per queste informazioni preziose e non solo, anche molto chiare
RispondiEliminaHo 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)
RispondiEliminaTi 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?
Come scritto nel post è solo un modo per disincentivare i copiatori. Ci sono sistemi per aggiungere automaticamente i link ai post copiati
Eliminahttp://www.ideepercomputeredinternet.com/2013/04/tynt-to-add-link-copy-post.html
@#
Grazie. :)
EliminaTi consiglio di verificare tu stesso quanto ti ho detto circa il problema con il messaggio alert. Eliminandoli, si rende il codice perfetto. :)
Grazie mille per questa info importantissima... proverò ad attivarla nel mio blog per precauzione ^_^ Alla prossima.... nuova follower ^_^
RispondiEliminaciao 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
RispondiEliminaPuoi 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
Eliminahttp://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
@#
Grazie sempre utile questo codice!
RispondiEliminaCiao Ernesto, chiedo scusa ma non riesco ad accedere al codice html del template di Fantastico di Blogger, cioe' il mouse non copia niente, non apre le stringhe e poi un avvertimento in giallo mi dice che una pagina ha bloccato il sito? Ma di cosa parla? E pensare che volevo fare il sito in questi giorni di vacanza. Grazie e Buona Pasqua!
RispondiEliminaDall'apertura del blog non si può capire cosa blocca il template però posso fare una ipotesi. Secondo me dipende dal widget AddThis che hai aggiunto per mostrare una barra di condivisione laterale e un banner orizzontale sopra a quello della informativa breve di Blogger. Se quel widget lo hai inserito da tempo allora fai mente locale e pensa alla modifica più recente che hai fatto per eventualmente eliminarla per tornare alla situazione precedente.
Elimina@#