Domanda

Sto mettendo insieme un sito Web di portfolio che include una serie di immagini, alcune delle quali non voglio essere visualizzabili dal grande pubblico. Immagino che invierò a qualcuno un nome utente e una password, con i quali potranno " accedere " per vedere il mio lavoro.

Ho visto varie soluzioni per "hide-an-image" problema on line incluso il seguente, che utilizza il readfile di php. Ne ho visto anche un altro che utilizza .htaccess.

Usa il readfile () di php per visualizzare un file immagine?

Non vado pazzo per la soluzione di readfile, in quanto sembra lento caricare le immagini, e mi piacerebbe poter usare FancyZoom di Cabel Sasser, che ha bisogno di un accesso illimitato all'immagine (la sua biblioteca vuole un link all'immagine a dimensione intera), in modo da escludere .htaccess.

Per ricapitolare quello che sto cercando di fare:

1) Fornire un sito in cui offro agli utenti la possibilità di autenticarsi come qualcuno che mi piacerebbe guardare le mie immagini. 2) Impedire agli utenti Web casuali di vedere quelle immagini. 3) Usa FancyZoom per far esplodere le miniature.

Non mi interessa quale tecnologia questo finisca per usare - Javascript, PHP, ecc. - qualunque sia il più semplice e pulito.

A proposito, sono uno sviluppatore Java, non uno sviluppatore web, quindi probabilmente non sto pensando al problema correttamente.

È stato utile?

Soluzione

Invece di fornire un collegamento a un'immagine. Fornisci un link a uno script cgi che fornirà automaticamente l'intestazione e il contenuto dell'immagine.

Ad esempio: image.php? sample.jpg

Puoi quindi assicurarti che siano già autenticati (ad esempio passare un ID di sessione) come parte del link.

Questo farebbe parte dell'intestazione, e quindi i tuoi dati di immagine possono seguire.

header('Content-Type: image/jpeg');

Modifica: se deve essere veloce, puoi scriverlo in C / C ++ invece di php.

Altri suggerimenti

L'uso di .htaccess dovrebbe essere il metodo più sicuro / più semplice , poiché è integrato nella funzionalità del server web stesso.

Non so se si adatta alle tue esigenze, ma ho risolto un problema simile (dando foto a un gruppo ristretto di persone) usando TinyWebGallery , che è una piccola applicazione galleria senza database.

Puoi consentire l'accesso a diverse directory tramite password e puoi caricare le immagini direttamente nel filesystem, poiché TinyWebGallery verificherà al volo nuove directory / foto. Genera miniature e offre agli utenti la possibilità di valutare / commentare le foto (è possibile disabilitarle).

Questo non è lo strumento più piccolo, tuttavia penso sia molto più facile da configurare rispetto all'utilizzo delle direttive apache e sembra migliore come immagini nude .

Se stai utilizzando Nginx , potresti utilizzare modulo Secure Link .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top