Dizini, dosyaları indirmek için yetkisiz veya yetkisiz kullanıcılardan nasıl koruyacağımı anlamaya çalışacağım. Şimdiden teşekkürler.İndirilebilir dosyaları korumak için en iyi strateji -php/mysql Apache2 sunucusu
cevap
iyi yinelenen bulamıyor, ama biraz arama php kullanarak PHP oturum izni dayanarak klasör erişimi kısıtlamak için basit bir yolu yoktur bu PHP protect a folder
gibi sonuçlar getirecektir. Geçerli yetkili oturumlar için stub dosyaları oluşturmayı gerektirir (ve silme işlemlerini otomatik hale getirir). PHP Görecek:
if ($user_has_permission_to_download)
{
touch("tmp/access-" . session_id());
}
Sonra basit bir RewriteRule + RewriteCond'ın sonra yetkilendirme için hizmet edebilir:
göre çerez değeri bulunursa ilk blok izinleri erişim ve yetkilendirme saplama dosya var. İkinci kural başkaları için erişimi engeller.
.htaccess en iyi arkadaşınız. Tüm bunları .htaccess dosyasına inkar et. Ya da .htaccess dosyasını kullanmak istemiyorsanız şifreleyin ve indirme yolunu (LOL!) Her zaman değiştirin.
deny from all
Sonra o kullanıcı eğer dosyayı hizmet etmek Mesela readfile() için kullandığı bir komut dosyası oluşturmak için aşağıdaki içeriğe sahip, dosyalarla dizinde .htaccess dosyasını koyun bakın yetkilendirildi.
Kullanıcı kimliğini doğrulayan bir kullanıcı/oturum açma komut dosyanız olduğunu mu varsayıyorum? Kullanıcı oturum açtığında bir oturum değişkenini denetleyen bir php komut dosyasını kullanarak dosya isteğini iletmek için .htaccess yeniden yazma kurallarını kullanın. elk
şey:
.htaccess
RewriteEngine on
RewriteRule ^(.*).(pdf|exe|doc|whatever)$ some-script.php?file=$1.$2 [L]
<?php
if(loginCheck()) //function somewhere that checks session if user is logged in
{
return fopen('../files/' . $_GET['file']); //open and return the requested file
}
Bu size yapmanız gerekenler hakkında bir fikir vermek için sadece sözde koddur. Ayrıca doğru dosya başlıklarını da yan yana getirmeniz gerekebilir.
Ve insanların dosya dizinine gitmesini engellemek için, EVERYONE'a erişmesini durdurmak için THAT klasörüne bir .htaccess dosyası koymanızı ve deny from all
'u eklemenizi öneririm.
Önemli değil, fakat 'elk' ilkel olmalıdır. ;-) – WraithKenny
- 1. Mevcut raylar projesine test eklemek için en iyi strateji nedir?
- 2. Android'de formların bir Listesini oluşturmak için en iyi strateji nedir?
- 3. Android Etiketleri dinamik olarak düzenle en iyi strateji
- 4. 32bit'den 64bit kurulumuna güncellenmesi en iyi strateji nedir?
- 5. Birden çok ölçüt kullanarak öğeleri gruplandırmak için en iyi genel strateji
- 6. Küçültülmüş dosyaları ve dağıtımı/geliştirmeyi sürdürmek için en iyi yöntem
- 7. Büyük dosyaları php ile şifrelemek için en iyi yaklaşım
- 8. Asp.net MVC Kaynak Dosyaları İçin En İyi Yöntem
- 9. Çoklu platformlar için çeviri dosyaları oluşturma hakkında en iyi yöntemler
- 10. Çoklu Proje Ortamında Belirsiz bağımlılıkları önlemek için İyi Bilinen Strateji
- 11. HTML'yi MongodDB JSON stilinde depolamak için iyi bir strateji nedir?
- 12. Strateji
- 13. Pahalı web servis çağrısını önbelleğe almak için en iyi strateji Grails
- 14. Asp.net mvc kullanarak stackoverflow tarzı rozetleri sistemi uygulamak için en iyi strateji
- 15. Aynı uygulama bir android ve iphone sürümü tutmak için en iyi strateji nedir
- 16. R'de liste biçimindeki sonuçları saklamak için iyi bir strateji nedir?
- 17. Pandalar sütunlarında karışık türleri bulmak için iyi bir strateji nedir?
- 18. SharedPreferences oturumu korumak için
- 19. MVP'yi uygularken Android'de Sunum Yapanlar'ı korumak için en iyi uygulamalar nelerdir?
- 20. HTML/CSS - Belirli öğelerdeki beyaz alanı korumak için en iyi yöntem nedir?
- 21. Çapraz platformda Mysql veritabanı şemasını korumak için en iyi yöntemler nelerdir?
- 22. CSS En boy oranını sığdırmak ve korumak için nasıl uzanıyorsunuz?
- 23. Görüntüyü sığdırmak ve en boy oranını korumak için zorla
- 24. NSLayoutGörüntüyü ortalamak ve en boy oranını korumak için kodu
- 25. Herkes için en iyi uygulamaları
- 26. Python için en iyi GUI?
- 27. iphone uygulamaları için otomatik bir yapı sunucusu kurmak için en iyi yöntem?
- 28. en iyi (veya en azından iyi) kılavuz
- 29. En İyi Django
- 30. ListView konumunu korumak için nasıl
Teşekkürler! Bu harika bir fikir. Bunu benimsedim ve gereksinimlerime uyacak sekilde degistirildim, ancak çekirdek hala bu harika cevapta oldugu gibi aynidir! – ADTC