Proteggi il download dell’immagine

So che il modo migliore per proteggere il download delle immagini non è metterlo su internet in primo luogo.

Presumo che non ci sia una protezione al 100% contro il download delle immagini e che se un utente può vedere un’immagine su Internet, può, con un po ‘di esperienza, trovare l’accesso per scaricarlo.

Sono a conoscenza di trasparenti .gif o .png coprono le immagini o utilizzano proprietà CSS background_image per proteggerlo e impedire il download con il clic destro ma ci sono

altri modi per complicare il download delle immagini e quindi impedire il download delle immagini dalla maggior parte degli utenti?

Ecco un FIDDLE con codice per iniziare:

  

No, in realtà non c’è modo di impedire a un utente di eseguire una particolare attività. Ma puoi sempre prendere misure! I siti di condivisione di immagini hanno un enorme team di sviluppatori che lavorano giorno e notte per creare un tale algoritmo in cui si impedisce all’utente di salvare i file di immagine.

Primo modo

Prova questo:

 $('img').mousedown(function (e) { if(e.button == 2) { // right click return false; // do nothing! } } 

Quindi l’utente non sarà in grado di fare clic sull’opzione Salva immagine come … dal menu e, a sua volta, non avrà la possibilità di salvare l’immagine.

Seconda via

L’altro modo è usare l’ background-image . In questo modo, l’utente non sarà in grado di fare clic con il tasto destro del mouse e salvare l’immagine come … ma può ancora vedere le risorse nell’Inspector.

Terza via

Anche io sono nuovo a questo, pochi giorni fa stavo navigando su Flickr quando ho provato a fare clic destro, non mi ha lasciato fare una cosa. Quale a sua volta è stato il primo metodo che ti ho fornito. Poi ho provato ad andare a vedere l’ispettore, lì non ho trovato nulla. Perché? Dal momento che stavano usando l’ background-image e allo stesso tempo stavano usando i data:imagesource come sua posizione.

Che è stato fantastico anche per me. È ansible impedire all’utente di salvare facilmente i file immagine in questo modo.

È noto come schema URI di dati: http://en.wikipedia.org/wiki/Data_URI_scheme

Nota

Per favore ricorda fratello, quando stai facendo navigare un utente sul tuo sito web, gli stai dando i permessi di lettura sul lato server in modo che possa leggere tutti i file senza problemi. Lo stesso è il problema con i file di immagine. Può leggere i file di immagine e quindi può salvarli facilmente. Scarica le immagini sul primo posto quando sta navigando il tuo sito web. Quindi non c’è un problema per lui per salvarli sul suo disco.

Un altro modo per rimuovere il menu di scelta rapida “salva immagine” consiste nell’usare alcuni CSS. Questo lascia anche il resto del menu contestuale intatto.

 img { pointer-events: none; } 

Rende tutti gli elementi img non reattivi a qualsiasi evento del mouse come trascinamento, passaggio del mouse, clic, ecc.

Vedi le specifiche per maggiori informazioni.

Non c’è modo di proteggere il download delle immagini. Questo perché l’immagine deve essere scaricata dal browser affinché possa essere vista dall’utente. Ci sono trucchi (come lo sfondo trasparente che hai specificato) per limitare alcune operazioni come l’immagine con il tasto destro del mouse e il salvataggio nella cartella cache del browser, ma non c’è un modo per proteggere veramente le immagini.

Come alcuni hanno già detto che non è ansible impedire alle persone di scaricare le tue immagini, un trucco potrebbe essere qualcosa del genere:

 $(document).ready(function() { $('img').bind('contextmenu', function(e){ return false; }); }); 

Questo trucco impedisce di fare clic con il tasto destro su tutte le img. Ovviamente le persone possono aprire il codice sorgente e scaricare le immagini usando i collegamenti nel codice sorgente.

Non esiste un metodo di prova completo per salvare l’immagine che viene scaricata / rubata.

ma alcuni sono come: filigrana le immagini (lato client o lato server), usa l’immagine di sfondo , disabilita i clic con il tasto destro, affetta le immagini in piccoli pezzi e sono presentate nel loro insieme, puoi anche usare il flash per visualizzare le immagini.

i metodi raccomandati personalmente sono; utilizzare filigrane per l’immagine e metodo flash. ma è una missione difficile, quasi imansible da fare. Come utente può visualizzare quell’immagine che significa che possono usare “stampa screenshot” per ottenere quell’immagine.

Se è solo un’immagine, JavaScript non è realmente necessario. Prova a utilizzarlo nel tuo file html:

 # 

Ecco alcuni modi per proteggere le immagini sul tuo sito web.

1. Metti uno strato trasparente o una maschera opaca bassa sull’immagine

Solitamente la fonte dell’immagine è aperta al pubblico su ogni pagina web. Quindi l’immagine reale è al di sotto di questa maschera e diventa irraggiungibile. Assicurati che l’immagine della maschera abbia le stesse dimensioni dell’immagine originale.

  

2. Rompa l’immagine in piccole unità usando lo script

Per eseguire questa operazione viene utilizzato lo script di tessere immagine super semplice. Lo script spezzerà l’immagine reale in pezzi e nasconderà l’immagine reale come filigranata. Questo è un metodo molto utile ed efficace per proteggere le immagini, ma aumenterà la richiesta al server per caricare ogni riquadro dell’immagine.

Vedi maggiori informazioni qui .

Innanzitutto, ti rendi conto che non sarai mai in grado di interrompere completamente un’immagine che viene scaricata perché se l’utente sta visualizzando l’immagine lo hanno già scaricato (temporaneamente) sul proprio browser.

Tieni presente che la maggior parte degli utenti probabilmente non sarà uno sviluppatore web ma potrebbe comunque esaminare il codice sorgente.


Scorcio davvero il disabilitare il tasto destro, questo può essere estremamente frustrante per l’utente finale e non è comunque sicuro poiché l’immagine può ancora essere trascinata in una nuova finestra e scaricata.

Suggerirei il metodo usato da CampSafari ie

 img { pointer-events: none; } 

ma con un miglioramento:

Quindi, per prima cosa rimuovi l’url della tua immagine e aggiungi ad essa degli attributi id . Così:

  

Successivamente abbiamo bisogno di aggiungere qualche JavaScript per mostrare effettivamente l’immagine. Tieni questo bene lontano dal tag che stai cercando di proteggere:

 document.getElementById("cutekitten").src = "http://placekitten.com/600/450"; 

Ora dobbiamo usare il CSS:

 #cutekitten { pointer-events: none; } 

L’immagine non può essere trascinata in una nuova finestra e scaricata tramite il tasto destro del mouse.

JSFiddle


Un altro metodo che puoi usare è il tag embed :

  

Ciò impedirà il clic destro.

Come hanno detto altre risposte, se puoi vederlo puoi copiarlo / scaricarlo.

Per sumre le altre risposte, solo per vostra informazione, potete aggiungere filigrane invisibili o difficili alle vostre immagini: http://www.cgrats.com/create-an-invisible-watermark-in-photoshop.html (solo un ad esempio, ci sono più tecniche, solo google per filigrane invisibili)

Ad ogni modo, se vuoi dimostrare la proprietà della tua immagine, un buon modo è avere una copia della risoluzione più grande per te stesso e pubblicare sempre una risoluzione / dimensione inferiore. O pubblicalo anche su un supporto “pubblico” come … deviantart o flickr o qualcosa in cui le persone non possono modificare la data di caricamento. In questo modo puoi dimostrare di avere quell’immagine prima di chiunque altro

Come sappiamo, non esiste un metodo adeguato per evitare il furto di immagini. Ma possiamo ridurlo in una certa misura. Possiamo evitare quelle persone che non sono geek nei computer per scaricare l’immagine e il codice. Ecco alcuni trucchi JQuery che dovremmo includere nel nostro sito per ridurre il furto di immagini

  • Disabilita clic destro
  • Disabilita Ctrl + combinazione (ex Ctrl + s, Ctrl + u) [Meglio disabilitare il tasto Ctrl]

Ma l’utente può anche scaricare la pagina web utilizzando gli strumenti di sviluppo in Firefox. Non abbiamo soluzione per questo perché questo sarà sul lato client e viene fornito dal browser dell’utente.

È ansible trovare il codice per tutti i sopra elencati in overflow dello stack