Belirteci sorgu dizesi olmadan Dizin tarama ve dosya alımı önleyin

2 Cevap

Benim webserverların birinin derin bir klasörde barındırmak istediğiniz bir ödeme indirme paketi var. Ben Options-Dizinleriyle. Htaccess dizin tarama kapattınız

Ama ben daha da sunucu gitmelerine izin istiyorum önce bir belirteç QueryString üzerinde mevcut gerektiren bu değerli dosyaları kilitlemek istiyorum.

Bu mümkün mü?

Ücretsiz ve parola gerekmiyor onların daha iyi bir yaklaşım mı?

2 Cevap

Eğer dosyasına doğrudan bağlantı varsa, bir zip ya da exe, herhangi bir sorgu dizesi belirteçleri ile dosyayı korumak için mümkün olmadığını söylüyor.

Yapmanız gereken derin bir dizin (web kök dışında veya tercihen bir) den dosya indirme getirir ve bunu kullanıcıya akarsu bir PHP komut dosyası oluşturun. Bu şekilde QueryString belirteci talep ve belirteç eşleşen yalnızca çalıştırabiliriz. Belirteç aslında zayıf bir şifre olarak hareket ettiğini unutmayın.

Bu script nasıl sunucusu üzerinde bir dizin bir pdf almak için size gösterecektir. Bu talep ve sorgu dizesi doğrulamak oldukça kolay olmalıdır:

http://www.finalwebsites.com/forums/topic/php-file-download

Yine, gerçekten web kök DIŞ korumalı dosyaları saklamak gerekir. Aksi takdirde, doğrudan yolunu halledebiliriz herkesin kolayca komut bybass ve doğrudan dosyayı indirmek.

Sen sorgu belirteci kontrol ve eşleşirse dosyaya yönlendirme olabilir:

<?php
  if(isset($_GET['token']) && $_GET['token'] == 42){
    header('Location: http://example.com/file.blah');
  }
  else{
    die('sorry!');
  }
?>

Bu gerçekten bilinmezlik Hafta güvenlik olduğunu unutmayın. Bu yönlendirmeyi fark ve doğrudan dosya vurmak için bir çok kullanıcı için almayacağız.

(Daha iyi ve daha net ben hemen oldu daha bunu yazabilmek için teşekkürler!) Açıklar Ciaran @ olarak daha iyi bir çözüm ... Eğer dosya akışı gerektirecektir.

Ciran notları gibi @, bu da çok güvenli değildir. Dosya çok hassas değilse, bu sadece belli bir süre sonra sona erecek olması "yeterince iyi" olabilir.