Apache Dir İlanı

2 Cevap php

Ben bazı directorys bir dir listesini izin istiyor, ama ben herhangi bir indirme engellemek istiyor.

Temelde dir yapıdır

Nzbs -> Alt.binaries.mp3 -> Alt.binaries.tv -> Alt.binaries.multimedia

Alt dizinlerinde dosyalar. Zip dosyaları.

Kullanıcıların alt dirs içeriğini görüntülemek, ancak herhangi yüklenmesine izin verecek değil muktedir istiyorum.

Ive net arandı ama cant alakalı bir şey bulmak.

Herhangi bir yardım için şimdiden teşekkür ederiz.

2 Cevap

Bunu yapmanın birkaç yolu vardır

  1. Kullanım RedirectMatch yukarıda belirtilen
  2. Index.php tüm aramaları yeniden yazmak için mod_rewrite kullanımı
  3. Belge kök dışında klasörü taşımak ve komut dosyası çalışma sonucunda klasörü göstermek

Seçenekler, ikinci ve üçüncü klasör içeriğini listelemek için bir komut dosyası yazmak için gerektirir. Bu documentation of PHP bulabileceğiniz oldukça basit bir script var

<?php
$d = dir("/etc/php5");
echo "Handle: " . $d->handle . "\n";
echo "Path: " . $d->path . "\n";
while (false !== ($entry = $d->read())) {
   echo $entry."\n";
}
$d->close();
?>

Üçüncü seçenek web sunucusunda az ayrıcalıkları gerektirir. Bu gibi çalışır:

  1. Kişisel web sitesi sunucusu klasör / home / sen / public_html bulunmaktadır. / Home / sen / yüklenenler klasörünü koyun
  2. Folde içeriğini görmek isteyen istemci sayfa www.yourdomain.com/folder.php?folder=xxx girer
  3. You map PHP variable's "folder" value (xxx) to folder name
    • Sen XX gibi değildir .. /. Sağlamak zorundayız. /.. / Etc, bu vs klasör içeriğini listeler. Kullanımı haritalama tablosu (1 => yourfolder1 vb) veya her şeyi emin Ya yüklenenler klasörünün içinde yer alır.
  4. En sonunda alt klasörlere bağlantıları (www.yourdomain.com/folder.php?folder=yyy vb) sağlayan klasörü girdilerini listelemek
  5. İzlemek :)

Üçüncü seçenek (mod rewrite) temelde aynıdır, ancak klasör adı www.yourdomain.com/folder.php?folder = için www.yourdomain.com / yüklenenler / xxx dönüştürmek için mod rewrite modülü (yeniden yazma kuralı ile verilir xxx)

Özetle:

İlk seçenek (yourdomain.com/403.php gibi) bazı dosyasına onları yönlendirerek dosya adlarını indirme izin vermez. Bu liste görüntülemek için web sunucusu üzerine dayanır ve ona geri kalanını ele sağlar.

İkinci ve üçüncü yöntemi (kombine olabilir OFC) kendi dizin listesini oluşturur. Bazı düzen içinde uygulanacak istiyorsanız, bu tek seçenektir. Önerilen yol belge kök dışında klasörü yerleştirmek, böylece kullanıcıların komut (bunlar dışında belge kök olarak web sunucusu için, bu tür dosyalar olmayacak) başarısız olsa bile herhangi bir dosya indirmek mümkün olmayacaktır. Eğer kullanıcı sunucu üzerinde herhangi bir klasörü (bu tehlikeli) görüntülemek için izin olmadığından emin olmak gerekir.

Regex eşleşen herhangi dir veya dosyaya acces engellemek ve belli bir url göndermek için RedirectMatch deyimini kullanın. Onların göz atmakta url göndermek için muhtemelen en iyisidir.

RedirectMatch regex url