Nwlapcug.com


Come controllare il copia e incolla



È impossibile per impedire agli utenti da copiare e incollare su un sito Web. Utenti esperti possono visualizzare il codice sorgente HTML ed eseguire l'override le funzioni JavaScript che impediscono loro di estrarre informazioni dalla tua pagina Web o incollare i nuovi dati in controlli di input. Tuttavia, è possibile utilizzare JavaScript per rendere più difficile per molti utenti di eseguire copia e incolla sul tuo sito Web. JavaScript sarà catturare le battiture di un utente, determinare se vengono premuti tasti di copia o Incolla e informare l'utente che il suo sito ora ammette queste azioni.

Istruzioni

1

Aprire Blocco note o qualsiasi programma di elaborazione testi e aggiungere il seguente codice:

<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional / / EN" "l'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >

< html xmlns = "l'http://www.w3.org/1999/xhtml" >

< head >

< title > Test blocco di copia & incolla < / title >

< script >

< / script >

< / head >

< corpo >

< / body >

< / html >

Questo crea un documento HTML vuoto.

2

Aggiungi questo codice dopo il tag "< body >":

< textarea id = "TextArea1" cols = "20" righe = "2" >< / textarea >

< input type = "testo" id = "TextBox1" / >

Questo crea un'area di testo e una casella di testo.

3

Aggiungere questo codice JavaScript dopo il tag "< script >":

window.onload = function () {

var objTextArea = document.getElementById('TextArea1');

objTextArea.onkeydown = checkKey;

var objTextBox = document.getElementById('TextBox1');

objTextBox.onkeydown = checkKey;

};

Questo codice associa i gestori eventi per i controlli casella di testo e textarea dopo il caricamento della pagina. Quando un utente preme un tasto mentre è posizionato in uno di questi controlli, il browser esegue la funzione denominata "checkKey." Aggiungere ulteriori controlli a questo blocco di codice utilizzando la stessa logica. Ad esempio, se si dispone di un'altra casella di testo denominata "TextBox2", aggiunge il seguente codice alla funzione:

var objTextBox2 = document.getElementById('TextBox2');

objTextBox2.onkeydown = checkKey;

Questo blocco di codice verrà associare un gestore eventi a una casella di testo denominata TextBox2. La funzione risultante sarebbe simile a questa:

Window. onLoad = function () {

var objTextArea = document.getElementById('TextArea1');

objTextArea.onkeydown = checkKey;

var objTextBox = document.getElementById('TextBox1');

objTextBox.onkeydown = checkKey;

var objTextBox2 = document.getElementById('TextBox2');

objTextBox2.onkeydown = checkKey;

};4

Aggiungere questa funzione JavaScript dopo la funzione precedente:

Function checkKey(e) () {

var keyPressed;

if (!e) var e = window.event;

if (e.keyCode) keyPressed = e.keyCode;

else if (e.which) keyPressed = e.which;

if (keyPressed == 17)

alert("Sorry. Copy and paste not allowed");

}

Questa funzione determina la chiave che un utente preme e posizionato nel controllo casella di testo o textarea. Se un utente preme il tasto "Ctrl", che ha un keycode di 17, il browser visualizza un messaggio di avviso. Personalizzare questo messaggio modificando il testo.

5

Salvare il file con estensione ". html" e aprirlo in un browser web.

6

Digitare un valore nella textarea ed evidenziarla. Premere "Ctrl + C per copiarlo. Si vedrà il messaggio di avviso. Ripetere il processo con la casella di testo. Il codice JavaScript si impedirà di eseguire copia e incolla.

Consigli & Avvertenze

  • Applicare la stessa logica per ogni elemento di input che si desidera proteggere. Includere un valore di ID univoco per ogni controllo di input che si desidera proteggere da copiare e incollare.