Gizleme veya dosyaları şifrelemek adresler?

4 Cevap

Herkese Merhaba ve zaman ayırdığınız için teşekkür ederiz. Ben sadece php hiçbir noobie olmama rağmen, ben henüz her şeyi bilmiyorum söylemek istiyorum ve ben hala bu sorunların bazılarını mücadele edebilmek için bazı bilgi eksikliği.

Benim şu anki ikilem:

Ben konumu da dahil olmak üzere her türlü bilgi var kullanıcı yapılmış şarkıları ile bir veritabanı var şarkılar söyledi. Ben çalışma var yolu ben şarkıları geziyor kim okumak için bir flash player için bir xspf çalma belgeyi echos bir php komut dosyası var olduğunu. (Iyi parçası oyuncusu o sürece doğru xml biçimini alır gibi bir php dosyası olduğunu umursamıyor olmak).

Sorun herkes (örneğin oyuncu xspf.php? = Song_id = 10 kullanan bulmak) kaynağında bakabilirsiniz olduğunu ve php dosya düz metin çıktısı her şey. Nasıl gizlemek veya kullanıcılardan mp3 yerini şifrelemek ancak oyuncu düzgün çalışması için mümkün olabilir?

Ben de ileride ben yerini gizlemek için bir yol bulmak isteyen kullanıcılar parçaları indirmek mümkün ama ya öyle değil belki ise çok zor bir geçici url üretecektir? Eğer bu sorunu çözmek için iyi olduğunu düşünüyorum paylaşıyor musunuz.

Ve yine herhangi bir yanıt için şimdiden teşekkürler!

4 Cevap

Ben kullanıcı dosyaya erişimi varsa denetleyen bir php komut dosyası bağlama ve kullanıcı dosyaya erişimi varsa readfile() ile dosyayı yankılanan tarafından dosyalara erişimi kısıtlı. Daha sonra bir URL doğrudan erişilemez bir dizine dosya tutabilir.

Belki oyuncu da dosyaların uzantısı umurumda değil. Sen play.php? Songid = some_encoded_value gibi URL ile playlist içine mp3 girişlerini koyabilirsiniz.

Sonra play.php yılında, geçerli bir oturum için kullanıcı doğrulamak gerekir. Ayrıca (eğer üretilirse) bir şarkı erişmek için kullanılan kaç kez bir songid kaydını tutabilir - bu seti 1 veya 2? Ama oyuncu davranışına bağlı olarak (kırık bağlantı, vb birden istekleri) bu güvenli bir fikir olmayabilir, ama genellikle ok olmalıdır.

Şarkılar daha fazla veya daha az hack ile yine mümkün olacak indirmek isteyen kullanıcılar / geliştiriciler gelişmiş olduğunu ancak unutmayın. Bunun için bir çözüm oyuncu çözmek istiyorsunuz oyuncu, içine kodlanmış şarkıları akışı olacaktır.

Ama sonra flaş oyuncu dekoder algoritma vb deşifre edilebilir

Daha sen sen daha güvenli çalışır, ama mutlak emniyet gerçekten mümkün değildir.

Edit: songid şeması doğal songid ait ve gerçek mp3 dosyaları gerçek arasında bazı eşleme tablosu gerektirir. Haritalama oturumda bellekte olabilir, ama tercihen bir veritabanında olabilir. Play.php dosyası çıkışında çıkış şarkısı için readfile işlevini (veya benzeri) kullanırsınız. Alternatif olarak, mp3 dosyaları da ikili lekeler de veritabanında saklanabilir.

Ben PHP bilmiyorum ama konsept bilge, ben şu öneririm:

  1. Geçerli kullanıcının oturumu için özel olan bazı şifreleme anahtarını kullanın ve xspf.php dosyaya birlikte bu geçmektedir.
  2. not oluşturulan XML MP3 dosyalarının doğrudan konumunu saklamak, ancak (oluşturulan kullanıcı geçirilen oturum ilişkili anahtarı ile - daha sonra doğrulanmıştır) bir PHP dosyası kullanmak musunuz MP3 dosyasını hizmet etmek Flash eklentisi ve not erişilebilir statik ve kamu URL yoluyla bir dizine (yani ideal dışında web kök) olarak MP3 dosyaları tutmak.

Zahmet etmeyin. Flash Player bir proxy arkasında olan durumu düşünün. Zaten vekaleten her URL görürsünüz. Kendiniz için bkz Fiddler (ücretsiz araç, proxy gibi davranır ve HTTP trafiğini gösterir) kullanın.