Inibire l'utilizzo del tasto destro del mouse

Arretrati lista "Una demo Dhtml a settimana"
di Risorse.net

CONOSCENZE CONSIGLIATE PER QUESTO ARTICOLO: Html, Javascript

COMPATIBILITÀ: Ms Ie
FILES ESTERNI: Nessuno
Visualizza la demo
Scarica la demo

Molti utenti ci chiedono come nascondere il codice Html inserito nelle loro pagine e per il quale tanto hanno faticato. Purtroppo (o per fortuna) tale operazione e' possibile solo grazie a complicati sistemi di criptatura che prevedono l'utilizzo incrociato di sintassi Javascript e Java. La demo che vedremo oggi, non nasconde in nessun modo il codice sorgente di una pagina web, ma semplicemente intercetta il click dell'utente con il tasto destro del mouse e blocca l'evento. Su Ms Ie appare anche una finestra, detta alert, che avvisa l'utente dell'impossibilita' di portare a termine l'operazione. Sappiate quindi, che tutto il contenuto sintattico del documento sarÓ comunque facilmente raggiungibile (dalla cache, dal men¨ Visualizza->Html per Ms Ie e Visualizza->Sorgente pagina per Netscape).
Analizziamo comunque la prima parte di script che va inserito tra i tag <head></head>:

<SCRIPT LANGUAGE="JavaScript1.1">
<!-- Original: Martin Webb (martin@irt.org) -->

<!-- Begin
function right(e) {
if (navigator.appName == 'Netscape' &&
(e.which == 3 || e.which == 2))
return false;
else if (navigator.appName == 'Microsoft Internet Explorer' &&
(event.button == 2 || event.button == 3)) {
alert("Spiacenti, il codice sorgente non e' visibile")
return false;
}
return true;
}

document.onmousedown=right;
if (document.layers) window.captureEvents(Event.MOUSEDOWN);
window.onmousedown=right;
// End -->
</SCRIPT>

Come abbiamo detto prima, Ms Ie permette di inserire un alert di avviso per intercettare il click del tasto destro del mouse. Il messaggio che abbiamo inserito noi, e che pu˛ essere modificato a vs. piacere, Ŕ contenuto nella riga:

alert("Spiacenti, il codice sorgente non e' visibile")

La seconda parte di Javascript va acclusa in fondo al documento, noi lo abbiamo inserito addirittura dopo il tag di chiusura </html>:

<SCRIPT LANGUAGE"JavaScript1.1">
<!-- Begin
for (var i=0; i document.images[i].onmousedown=right;

for (var i=0; i document.links[i].onmousedown=right;
// End -->
</SCRIPT>


© Risorse.net (www.risorse.net)
pagina in versione stampabile:
http://www.risorse.net /dhtml/teoria/2000/febbraio/25.asp?print=ok