Klasör güvenlik?

5 Cevap php

Ben kullanıcıların klasörler ile dolu dosyalar yüklenir adlı bir klasör yükleme var.

Ben sadece adres çubuğuna klasör adlarını ve dosya adını yazarak doğrudan benim kullanıcıların dosyaları indirirken insanları durdurmak için herhangi bir yolu var mı?

Örnek: Kullanıcı Jim'in klasör HOST / yüklenenler / jim saklanır

kullanıcı Jim'in önemli dosya "myimportantfile.txt" HOST / uploads / jim / myimportantfile.txt saklanır

Şimdi, adres çubuğuna sadece kimse türleri ise: www.HOST.com / uploads / jim / myimportantfile.txt, onlar Jim'in önemli dosyasını görüntülemek mümkün olacak.

Ben bunun olmasını nasıl durdurabilirim?

Dizinleri yaparken ben bazı özelliklerini yazabilir miyim?

5 Cevap

Bir web erişilebilir klasörde bu dosyaları olmasını istemiyorum. Webroot dışına taşımak.

Bunu yaptığınızda download.php hangi bir dosya kimliğini geçmek ve daha sonra Jim onun dosyaları soran ve ancak o zaman ek olarak tarayıcı dosya ve çıkış o getirme aslında doğrulamak gibi, bir dosya olabilir . Bu güvenlik için güvenli / iyi yoludur.

Ben bir dizin + w-r + x dizin yazıyor alow olacak dosya izinlerini inanıyoruz ama okur değil. Geeky unix bakımından bu% chmod 733 olan dirname. Dizin sahiplik chown ve chgroup kullanarak, düzgün ayarlanmış olması gerekir. Bu bir unix ortamı için geçerlidir.

Her bir korunan klasör klasör yapmak girilmesi için bir kullanıcı adı ve şifre gerektiren bir .htaccess dosyasını kullanabilirsiniz.

Ama bunu yapmak için en iyi yolu doğrudan erişilebilir değil ki webroot dışında yüklenenler klasörünü taşımak olacak ve daha sonra kullanıcının kimlik doğrulaması sonra istenen dosya kadar hizmet veren bir script (PHP, ASP, vb) oluşturmak düşünüyorum.

Basit çözüm sadece klasöre index.htm dosyası eklemektir.

Herhangi bir ziyaretçi bu sayfayı ziyade dosyaların dizinini göreceksiniz.

Sayfa boş, hatta daha iyi bir yönlendirme ile etki alanı ana sayfasına yönlendirebilirsiniz.

Tabii, Linux temel dosya / dizin izinlerini kullanabilirsiniz. Ayrıca apache tarafından inkar edilecek tüm ağaç ayarlayabilirsiniz.

Ne platformu / webserver yazılımı çalıştırıyorsunuz?

Tamam, linux:

Dizinin sahibinin 'joe' ve grubu daha sonra, 'apache' ise:

 chmod 750 joe

Bu sahibi (joe) tam erişim, grubunu (apache) yazmak erişimi (ve dizini girin yeteneği), ve başka bir şey izin 'Joe' izinleri dizin verecekti.

Bu bir FTP açılan kutu mi?

Şimdiki gibi sahiplik / grupları nelerdir?