Newsgroup: it.lavoro.professioni.webmaster
Titolo: Protezione immagini

  Ciao,
  spero di aver scelto il NG giusto. :-)
  Un amico vuol fare un sito dove pubblicare le sue fotografie (userei
un cms, penso xoops) ma vorrebbe renderle in qualche modo "protette"
per non farle scaricare in locale. Avete idea se c'e' qualche modo per
farlo? A me (inesperto, ovvio) non viene in mente proprio nulla. :-/
  Un saluto e auguri a tutti (vanno bene anche in ritardo, no?) :-)
-- 
Gianfranco Bertozzi
Linux User #183585

 farlo?
No, non è possibile.
Se non vuole far scaricare le immagini in locale, digli che la soluzione 
è semplicemente non metterle online.
Manlio Perillo

 farlo? A me (inesperto, ovvio) non viene in mente proprio nulla. :-/
L'unico modo fattibile per "proteggere" delle foto č usare dei watermark 
in sovrimpressione.
Ogni altra soluzione č, per definizione (se si desidera che un utente 
possa vedere delle immagini queste vanno scaricate dal browser), aggirabile.
Da dire che ha poco senso usare foto protette da copyright (e magari a 
risoluzione medio-bassa) quando in rete se ne trovano a migliaia 
liberamente utilizzabili, per cui come preoccupazione mi sembra eccessiva.

 in sovrimpressione.
quoto. Oltretutto asseconda perfettamente il detto "se non li puoi
combattere, fatteli amici" :-)
-- 
. Guido   _.-----.  \.-./       . .
\`-.._,-' .-. .-.`-' ``-.  _,-'.'`.
  `-.____,-. `:. `.-'-._.O-:_ .:'.,|
            `-" `-"          `-.__.'

 farlo? A me (inesperto, ovvio) non viene in mente proprio nulla. :-/
Ce ne sono moltissimi a vari livelli di complessità di 
realizzazione (per te) e complessità di superamento (per 
i navigatori).
Il metodo infallibile non esiste comunque. Un print 
screen aggira qualsiasi sistema.
E se anche nel futuro esistesse un sistema di protezione 
dei contenuti, trusted computing o roba del genere, si 
può sempre scattare una foto al video.
Volendo comunque fare qualcosa, per visualizzazione una 
immagine potresti ad esempio creare una tabella della 
stessa dimensione con l'immagine come sfondo e come 
contenuto della tabella una immagine della stessa 
dimensione e trasparente.
Tasto destro, "salva immagine con nome" e ti ritrovi 
un'immagine trasparente.
A te ragionare, realizzare ed inventare possibili 
protezioni, sapendo come detto che la protezione totale 
non esiste.

 non esiste.
  Ci pensero'. Se trovo la soluzione definitiva la posto qui, ok? ;-)
  Grazie ancora a tutti,


 Ci pensero'. Se trovo la soluzione definitiva la posto qui, ok? ;-)
Non perderci tempo ;) , è proprio l'architettura del web che impedisce 
blocchi di questo tipo: se si vuol mostrare un'immagine il browser deve 
poterla caricare e per caricarla deve scaricarla (scusa il gioco di 
parole) in locale (da dove è accessibile).
Per trovare soluzione già pronte prova a cercare con google "protezione 
copia immagini" o "protezione scaricamento immagini".
In generale le soluzioni sono le 3-4 che ti son state già illustrate:
- div background-image invece di img;
- immagine trasparente sopra;
- blocco tasto destro mouse via javascript;
- caricamento dell'immagine dinamicamente via javascript.
Ribadisco il mio precedente consiglio: immagini a risoluzione 
medio-bassa con un watermark ben visibile.
Curiosità: che fa il tuo amico che ha tutta questa paura che gli rubino 
le foto? :)

 le foto? :)
  E' solo un appassionato anche se, mi dicono, bravino. Credo che l'idea
della protezione sia solo, appunto, un'idea. :-)
  Appena (se) finisco il sito lo linko qui, cosi' mi dite che specie di
schifezza ho fatto, ok? :-)
<
  Un saluto e ancora grazie a tutti,


Gianfranco ha scritto:

joomla + ozio gallery (parte in flash), anche se il print screen è 
sempre in agguato :-)

 ha scritto nel messaggio 
news:gk07mc$njs$2...@tdi.cu.mi.it...

Come ti è stato già ampliamente detto, qualsiasi cosa visualizzi sul browser 
è sempre possibile riprodurla in altra sede; per cui se non è possibile 
essere tutelati attraverso il software; per esclusione l'unica soluzione 
percorribile è tutelarsi attraverso l'immagine stessa.
Una soluzione ti è stata già proposta ed è quella di inserire un copyright 
in sovraimpressione; tecnica molto invasiva se non inutile; una soluzione 
meno invasiva è l'uso della filigrana.
Oppure di crearti un software K su misura che presa una immagine X 
sostituisca determinati pixel (scelti non a caso ma secondo un criterio ben 
preciso) con una trasparenza o con un pixel vicino a quello precedente o 
successivo e in fase di lettura sia in grado di identificare se 
quell'immagine è stata generata dal software K e quindi originale; oppure se 
non generata dal software K e quindi falsa.
Il problema del copyright, o della copia non autorizzata dopotutto, non 
riguarda tanto il doversi tutelare dalla diffusione ma dal trarre profitto 
dall'opera direttamente passandola per propria direttamente o 
indirettamente.
Per questo motivo, la soluzione migliore è indubbiamente quella di 
utilizzare strumenti che permettano in modo univoco di dimostrare la 
paternità dell'opera; che poi quest'opera sia divulgata o chissà che è solo 
una pubblicità in più a tuo favore; l'importante per te è che terzi non 
lucrino sulla tua opera, e tu non abbia una perdita, senza poter dimostrare 
che è una tua opera o non di terzi.
Cooper. 

 originale; oppure se non generata dal software K e quindi falsa.
Basterebbe ridimensionare leggermente l'immagine per superare questa 
protezione.
Ciao.

protezione.
In realta' no, basterebbe che il software di detect ne tenesse conto. E'
un po' piu' difficile gestire una leggera rotazione.
Per aumentare la robustezza ad attacchi tipo blur, si puo' modificare l'
immagine nel dominio di Fourier (trasformi e marchi una corona circolare
di raggio e ampiezza da determinarsi, quindi antitrasformi). Il blurring
attacca solo i coefficienti al di fuori della corona. Ovviamente la cosa
si paga, i coefficienti coronali sono quelli piu' visibili :-)
La cosa e' fattibile in PHP usando FFTW3 a linea di comando, e caricando
l'immagine risultante con le funzioni gd.
Quasi tutti i sistemi di watermarking - Digimarc per esempio - si basano
sulla modifica dei coefficienti trasformati (chi usando Fourier, chi con
la DCT e chi la trasformata wavelet), piu' eventualmente un segnale sync
per individuare zoom e rotazioni [Digimarc non ne ha bisogno, non saprei
pero' come faccia. O lavora a "forza bruta", o usano uno dei sicuramente
moltissimi trucchi che non conosco].
Per altro, Digimarc e' anche fornito di serie (?) in Photoshop, credo, e
se uno non ha bisogno di watermark al volo, magari vale la pena.
Leonardo
-- 
And where the black and corkscrew towers climb,
Lost and athirst the ragged pack abides,
Old as the aeons, trapped in tombs of time,
Sailing the tortuous temporal tides

 immagine nel dominio di Fourier (trasformi e marchi una corona circolare
  Ok. Mi avete convinto. Faro' cosi': sul sito scrivo "sono un ottimo
amico dello stregone africano M'lele 'ngombo. Se mi rubate le foto vi
faccio veni' la rogna". Mi pare piu' facile. ;-)
  Saluti e grazie, :-)



E' fornito di serie ma è a pagamento. 


Se devi metterla su questo piano, allora di conviene scrivere un disclaimer 
con qualcosa del tipo:
"ATTENZIONE, IMPORTANTISSIMO DA LEGGERE: Vi metto a disposizione queste 
immagini perché possiate vederle pacificamente tramite il mio sito web; è 
doveroso da parte mia farvi presente che, nel caso in cui queste immagini 
venissero utilizzate per scopi diversi da quelli consentiti, allora la 
maledizione di cui queste immagini sono portatrici, si attiverà 
automaticamente, e per i prossimi 100 anni non farete più sesso con chi 
desiderate! Ebbene io vi ho avvisato, adesso, spetta a voi decidere se 
correre questo rischio o meno... rifletteteci bene prima di fare qualcosa di 
diverso, da quello per cui siete autorizzati, se veramente non volete 
rinunciare a qualcos'altro...... ecco io ve l'ho detto!"
Credo avrà un effetto mediatico più sicuro :)
E forse solo in questo modo ti potrai assicurare la massima protezione 
contro la copia e divulgazione non autorizzata...
Cooper. 

personalizzato.
Si', ma la mia risposta era a un problema diverso: "E' vero che basta un
piccolo ricampionamento, rotazione, o crop dell'immagine perche' il soft
di detect non trovi piu' quei pixel dove se li aspettava e non riconosca
piu' l'immagine come propria?".
E io li' ho risposto "No", perche' e' possibile predisporre un algoritmo
che resista a ricampionamenti, rotazioni, crop (ragionevoli) e modifiche
dell'immagine es. sovrapponendoci altri marchi o facendo fotomontaggi.
Ovviamente si tratta di accorgimenti che complicano l'algoritmo, mica ho
detto che si fa gratis; solo che si puo' fare :-)


 detto che si fa gratis; solo che si puo' fare :-)
Non ne sono troppo convinto, anzi.
Ritengo che per coprire tutte le casistiche:
- l'algoritmo diventerebbe talmente complesso da risultare 
incomprensibile e ingestibile;
- la manipolazione sull'immagine dovrebbe essere così pesante da 
renderla praticamente irriconoscibile.
Tanto per fare un esempio:
prendiamo un'immagine, la scaliamo leggermente (senza mantenere le 
proporzioni esatte), la ruotiamo, cambiamo il tipo o livello di 
compressione (es. da png a jpg o il livello di jpg).
Già solo con l'ultimo punto l'algoritmo del jpg per aumentare la 
compressione si "divora" una bella fetta di pixel, in particolare quelli 
"anomali" (ossia proprio quelli che dovrebbero identificare l'immagine).
Visto che la cosa mi incuriosiva ho provato a fare la prova con 
un'immagine a due colori (verde con circa 50 pixel rossi) e una foto 
(con circa 200 pixel di colori random).
Già solo convertendo da png non compresso a jpg al 75% i pixel singoli 
sono scomparsi, quelli doppi o quadrupli sono diventati aloni di circa 
4x4 - 8x8, di un colore variabile in funzione dello sfondo circostante.
Non ho provato ad applicare le altre trasformazioni.
Se hai informazioni contrastanti (o magari un algoritmo da esaminare) mi 
faresti cosa gradita, l'argomento mi interessa :)
Ciao.

"Pablo Xon" <pabl...@NIENTESPAMconcavi.net> ha scritto nel messaggio 
news:496625a6$0$1127$4faf...@reader1.news.tin.it...

E chi ha detto che bisogna per forza usare una immagine compressa :)
in ogni caso, la protezione si applicherebbe anche alla immagine compressa 
senza problemi; infatti una volta salvata l'immagine si applica la 
protezione senza alterarla.
Il problema si pone nel momento in cui si apre,la si modifica e si risalva, 
allora in quel caso hai ragione.
 

 risalva, allora in quel caso hai ragione.
Era proprio questo il caso a cui mi riferivo: se per bypassare una 
protezione basta salvare il file in formato diverso (o con diversa 
compressione), non mi fiderei troppo... ;)

faresti cosa gradita, l'argomento mi interessa :)
Una famiglia di algoritmi interessante e' quella basata su QIM.
Nel caso specifico che presenti tu, una resistenza al JPEG (ma solo alla
compressione JPEG!) molto elevata la puoi ottenere per esempio cosi':
1. Converti l'immagine in YCbCr.
2. Dividi l'immagine Y in blocchi di 16x16 pixel.
3. Calcoli il valor medio di Y in ciascun blocco di pixel.
4. Moltiplichi il valor medio per, diciamo, 100 e lo tronchi all'intero,
   aggiungendo 0.5 se vuoi "nascondere" un bit 0, e 0 se vuoi nascondere
   un bit 1.
5. Sommi ai pixel Y un rumore bianco, di media non nulla, in modo che il
   nuovo valore medio sia quello che hai appena ottenuto {ci sono poi un
   tot di migliorie apportabili in questa fase - Bresenham invece che un
   rumore distribuito a casaccio, etc.}.
6. Riconverti nuovamente in RGB.
Ogni pixel statisticamente sara' stato modificato di molto poco, in modo
casuale, e per es. RGB=<10 17 32> potrebbe essere diventato 11 17 31, od
11 16 32, o che so io.
Comprimi con JPEG anche a q=20 e ottieni un file tutto a blocchi, orrido
e illeggibile -- e il tuo segnale dentro c'e' ancora tutto (se leggi nel
whitebook di JPEG, ti accorgi subito del perche' :-D ).
Ovviamente in una immagine di 640x480 nascondi solo 150 byte, eh.
Leonardo [SE&O - non ho riletto con carta e penna. Caveat emptor]


"Pablo Xon" <pabl...@NIENTESPAMconcavi.net> ha scritto nel messaggio 
news:4966366a$0$1119$4faf...@reader1.news.tin.it...

E qual'è il problema :) dentro una immagine agendo direttamente sui pixel, 
alterandone alcuni senza far venir meno la qualità dell'immagine puoi 
inserire un messaggio che identifica l'autore e tutto quello che vuoi tu, 
che può a sua volta essere letto col programma che la elabora... se uno 
prende la foto, la apre la risalva, il messaggio si perde... ma l'originale 
mantiene sempre il messaggio.
Dal momento che la foto modificata deve necessariamente essere fatta in 
seguito all'originale... disponendo dell'originale.... disponendo del 
messaggio in codice applicato sull'originale... 1+1=2 ed è dimostrabile che 
la foto modificata non è l'originale.
Ma cmq :) Ci vuole solo un po' di fantasia e tutto si può fare.
 

 perde... ma l'originale mantiene sempre il messaggio.
Quindi lo scopo sarebbe dimostrare che una mia foto è effettivamente mia 
e che è l'originale, giusto?
Ma non mi sembra fosse questo l'argomento in discussione, forse mi sbaglio.
Ciao.
[1] esempi se ne trovano a iosa: 
images.google.it/images?q=watermark

 Ovviamente in una immagine di 640x480 nascondi solo 150 byte, eh.
Come dicevo poc'anzi a Cooper: ma non si parlava di come proteggere 
un'immagine da un uso "improprio"?
Come mai siamo passati alla steganografia e al riconoscimento immagini?
Se abbiamo un'immagine che vogliamo pubblicare e che di cui non vogliamo 
permettere l'uso non autorizzato a mio parere abbiamo una sola opzione:
un watermark ben visibile, che sia molto difficile da rimuovere (si 
realizza con qualunque programma di grafica, anche solo sovrapponendo un 
testo alla foto).
Il resto è un altro discorso, molto interessante certo ma che nulla ha a 
che fare con la "protezione immagini" (almeno secondo quanto richiesto 
dall'OP).
Buona giornata, ciao.

Come mai siamo passati alla steganografia e al riconoscimento immagini?
Questa la so ;-) -- a un certo punto Cooper aveva scritto:
  "Irrilevante il fine non è permettere di proteggere la foto dalla
   copia abusiva, ma dimostrare la paternità della foto che è diverso."
...avevo pensato di affrontare il problema nascondendo nell'immagine l'
equivalente del marchio "(C) 2009 COOPER, INC." :-)
Ora magari e' anche vero che abbiamo vagato un po' intorno al problema,
e per inciso, la tua soluzione di un marchio _visibile_ mi pare che sia
la piu' semplice oltre che la piu' pratica (ha anche un effetto diciamo
cosi' dissuasivo), e divaga divaga siamo arrivati alla steganografia...
Leonardo


 desiderate! Ebbene io vi ho avvisato, adesso, spetta a voi decidere se 
  Ecco. Hai ragione. Dovevo pensarci subito. Cambiero' il disclaimer.
  Mlele 'ngombo, stregone specializzato nel far seccare i pistolini a'
ladri. Grazie delle dritte. Si vede che sei un esperto! 8-)
  Saluti,


 che ho fatto viene a cadere :-)
Comunque è stata una discussione interessante.
E soprattutto credo che l'OP abbia trovato ampia risposta alla sua 
domanda ;)
Buona giornata, ciao!

abbiamo scantonato troppo :)
Ahhhhiaaaa, mea culpa. Vero e'; ma m'ero fissato sul discorso di Cooper
e ho scantonato dall'altro lato, e m'e' sfuggito.
Leonardo (in ginocchio nell'angolino)


 Leonardo (in ginocchio nell'angolino)
Per questa volta sei assolto.
Vai in pace.
;)

 farlo? A me (inesperto, ovvio) non viene in mente proprio nulla. :-/
si potrebbero inserire le immagini in un ebook protetto, usando per 
esempio EBooksWriter; se le metti sul Web, quello che c'ш sul Web e si 
puђ vedere si puђ anche scaricare...
-- 
јЄКА`АКЄј,ИИ,јЄКА`АКЄј,ИИ,јЄКА`АКЄј,ИИ,јЄКА`АКЄј,ИИ,јЄКА`АКЄј,И
http://HyperPublish.com/ita/
  Cataloghi, CD e siti con un solo
                               programma accessibile a tutti!
http://EasyWebEditor.com/ita/
 Crea il tuo sito Web
http://CDFrontEnd.com/ita/
    Realizza CD, presentazioni
http://PaperKiller.com/ita/
   Edita manuali o HTMLHelp, CHM
http://EBooksWriter.com/ita/
  Esprimi il tuo talento!