2010-09-28 21 views
10

Resim yüklemeyi yürütmek için PHP/MySQL kullanıyorum. Giriş yapmış olan kullanıcının galerisine yüklenen tüm görsellerin yalnızca giriş yapmış olan kullanıcı tarafından erişilebilir olmasını istiyorum. İnsanların dosya adını tahmin edip doğrudan bağlantı kurmasını istemiyorum.Bir kullanıcının siteme yüklediği özel fotoğrafları nasıl güvenli hale getirebilirim?

Görüntüleri webroot'un dışında depolayabildiğimi ve bazı PHP'ler aracılığıyla erişebildiğimi düşünüyorum. Ancak, kullanıcı daha sonra görüntüyü bir arkadaşla bir bağlantı üzerinden paylaşmak isterse, buna nasıl izin veririm?

Sadece kullanıcının fotoğraflarını görebildiğinden emin olmak için atmam gereken başka adımlar var mı? Kullanıcı gizliliğini çok ciddiye alıyorum ve bu hakkı almak istiyorum. peşin Yardımlarınız için

teşekkürler!

cevap

9

Orijinal varsayımda doğru sizsiniz. Dosyalarınızı genel dizinin dışında saklayın ve yetkilendirmeyi kontrol etmek ve görüntüyü görüntülemek için bir PHP betiği kullanın.

derler "Bu fotoğrafı paylaş" ve benzeri bir URL gösterir nerede onlara bir alanı verebilir paylaşım sorunu aşmak

http://www.yoursite.com/image/12390123?v=XA21IW 

XA21IW bir tabloda saklanan bazı benzersiz karma olacak ve Bir ömür belirleyebilir veya kendiniz kodlayabilirsiniz. Sayfa yüklendiğinde ve v iletildiğinde, bu resim kimliği için geçerli bir karma olup olmadığını belirlemek için bir tablo arayabilir.

Burada bazı seçenekleriniz var. onlar tıklayarak yapabilirsiniz "Bu fotoğrafı paylaş" Her zaman:

  • onları bir süre sonu vb yapılandırmasına izin ver

    1. yığınına ekleyin tüm eski karmaları yok ...

    Ya Resimlerin herkese açık/özel olmasına izin verin.

  • +0

    +1 Çok benzer bir şey göndermekten 2 saniye uzaktaydım. – Nacho

    +1

    Hızlı yanıt için teşekkürler. Bu, almayı planladığım yaklaşıma çok benziyor. Temelde daha güvenli bir yol olmadığından emin olmak istedim ve hiçbir şey unutmadım. Teşekkürler! – sherril8

    2

    Profil (kullanıcı) tabanlı bir paylaşım sistemi kullanabilir, burada oturum açmış A kullanıcısı, oturum açmış olan kullanıcı B'nin C görüntüsünü görüntüleyebildiğini belirtebilir ve bu tür izinleri istediği gibi ekleyebilir/kaldırabilir.

    Görüntülemenin bir kullanıcı hesabına bağlanması mümkün değilse, görüntülere veya resim gruplarına (örneğin bir galeri gibi) 'şifreleri görüntüle' olabilir; Resimleri görüntülemek için kullanılacak URL, kullanıcının/sahibin görüntüleyip görüntülemediğini kontrol eder ve değilse şifre ister.

    1

    Görüntülerin webroot'un dışında saklanması ve bazı PHP'ler aracılığıyla erişilememesi sorunu olduğunu düşünüyorum. Onları her zaman kullanıcı paylaştığında php script ile onlara erişebilirsiniz. Bunu yapmak için daha güvenli olsa bile, her zaman bazı güvenlik kontrolleri yapabilirsiniz. resmi görüntülemeden önce.

    Teşekkürler.

    0

    Görüntüyü sunucunuza kaydeder, görüntü adını, ihtiyacın olanı ve ihtiyacın olan bilgiyi yerleştirirsiniz. DB ... görüntü yolunu images.php adlı bir php dosyasına koyduğunuzdan, GET ile bu karma değeri alırsınız. ve sizden DB ile görüntüyü bul ve üstbilgiyi resim/GIF örneğine ayarlayarak görüntü oluştur. Görüntünün yolu images.php? Hash = abcdefg olacaktır.

    Diğer kullanıcı izni ile ilgili düşünüyor ve bu nedenle ... Bu çözümlerle bazı yanıtlar olduğunu düşünüyorum ... sessiz ...

    İlgili konular