Bir web sitesinde görüntülere erişimi kısıtlama

4 Cevap php

Ben kamuoyu tarafından görüntülenebilir olmasını istemiyorum bazıları görüntüleri, bir dizi içeren bir portföy sitesi kuruyorum. Ben, birisi bir kullanıcı adı ve şifre e-posta edeceğiz hangi ile "log-in" olabilir işimi görmek için. Hayal

PHP'nin readfile kullandığı aşağıdaki dahil on line "gizlemek-bir-görüntü" soruna çeşitli çözümler gördüm. Ben de. Htaccess kullanan bir başka gördüm.

http://stackoverflow.com/questions/1050975/use-phps-readfile-or-redirect-to-display-a-image-file

Ben o görüntüleri yüklemek için yavaş gibi görünüyor, readfile çözüm hakkında deli değilim, ve ben görüntüye sınırsız erişim ihtiyacı Kablo Sasser en FancyZoom, (onun kütüphane tam bir bağlantı istiyor kullanmak mümkün olmak istiyorum boyutlu görüntü), bu. htaccess dışladı böylece.

Ben yapmak ne çalışıyorum Özetlemek gerekirse:

1) Provide a site where I give users the ability to authenticate themselves as someone I'd like looking at my images. 2) Restrict random web users from being able see those images. 3) Use FancyZoom to blow up thumbnails.

Vb Javascript, PHP, - - Ben bu kullanarak biter ne teknoloji umurumda değil temiz ve kolay ne olursa olsun.

Bu arada, ben bir Java Geliştirici değil, bir web geliştirici değilim, bu yüzden muhtemelen doğru sorun hakkında düşünmeye değilim.

4 Cevap

Bunun yerine bir resim için bir bağlantı sağlama. Otomatik olarak görüntünün uygun başlık ve içerik sağlayacak bir cgi komut dosyası için bir bağlantı sağlayın.

For example: image.php?sample.jpg

Daha sonra zaten bağlantı parçası olarak (örneğin bir session id pass) doğrulanır emin olabilirsiniz.

Bu başlığın parçası olacağını, ve sonra görüntü verileri takip edebilirsiniz.

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

Düzenleme: hızlı olmak zorundadır varsa, C / C + + yerine php bu yazabilirsiniz.

Bu web sunucusu kendisi işlevselliği yerleşik olarak. Htaccess kullanarak, safest/simplest yöntem olmalıdır.

Sizin ihtiyaçlarınıza uygun olup olmadığını bilmiyorum, ama TinyWebGallery , which is a small gallery application without veritabanı kullanarak (kısıtlı bir grup fotoğraf veren) benzer bir poblem çözüldü.

Sen şifre yoluyla farklı dizinlere erişime izin verebilir ve TinyWebGallery anında yeni dirs / resimlerim kontrol gibi, doğrudan dosya sisteminin içine resim yükleyebilirsiniz. Bu minik oluşturmak ve kullanıcılara / comment resim oylayabilir imkanı (Bu devre dışı bırakabilirsiniz) verir olacaktır.

Bu küçük araç değildir, ancak ben apache direktiflerini kullanarak daha kurulumu çok kolaydır thik ve naked images olarak daha iyi görünüyor.

Eğer kullanıyorsanız Nginx, sen Secure Link module kullanabilirsiniz.