Htaccess ve php ile dosya erişimi güvence Yardım?

3 Cevap php

Kullanıcıların dijital içerik satın sağlayan bir site üzerinde çalışıyorum ve güvenli indirme hizmet için çalışan bir yöntem hayata geçirdik.

Ben böyle indirme zorlamak için CodeIgniter'ı kullanıyorum:

$file = file_get_contents($path);

force_download("my_file_name.zip", $file);

Tabii ki, ben kullanıcı yüklemeyi hizmet öncesi bir veritabanı kullanarak dosyaya erişimi olduğundan emin olun, ancak bu dosyaları daha güvenli hale getirmek için bir yol olup olmadığını merak ediyordum.

I [(1)] dosyaları adresler anlamaya tam olarak kolay değil, bu yüzden {yerine ... http://mysite.com/as67Hgr/asdo0980/uth89.zip gibi bir şey dosya yolları oluşturmak için bazı 8-10 harf tuşları kullanıyorum }.

Ayrıca, ben kullanıyorum htaccess dizin taramasını inkar etmek için:. Options All -Indexes.

Bunun dışında ... Ben almak için hangi adımları hiçbir fikrim yok. Ben. Htaccess kullanarak kullanıcı adı ve parola yöntemlerini düşündüren yazılar gördüm, ama ben bu yöntemi kullanarak oluşacak parolası istemini atlamak için nasıl anlamıyorum.

Ben başlıklarını kullanarak ve cUrl (veya benzeri) bir kullanıcı adı ve şifre kombinasyonu gönderebilen bir yöntem olabileceğini umuyordum, ama nereden başlayacağımı bilmiyorum.

Herhangi bir yardım derece mutluluk duyacağız. Şimdiden teşekkürler!

3 Cevap

Böylece web sunucusu aksi halde tüm denetimi oldukça tartışmalı olduğunu, hiçbir koşulda dosyaları hizmet etmez bunu yapmak. Bunu yapmak için en iyi yolu, webroot dışında bir yere koymaktır. Yani:

/
  webroot/         <- root web directory, maybe named www or similar
    index.php      <- your app, served normally
    …other serve-able files…
  files/           <- not part of the serve-able webroot dir
    secret_file    <- web server has no access here

Onlara erişmek için tek yol komut geçer eğer komut yapmak gibi Sonra, o kadar güvenli.

neden sadece Deny from All .htaccess mi? Ya webroota Yukarıdaki dosyaları yerleştirmek? Bu yeterli olacaktır. Ama şu anki kurulum zaten oldukça güvenlidir. Neden herhangi bir yardıma ihtiyacınız düşünüyorsunuz?

Onları sadece localhost indirilebilir olmasını istiyorsanız. Htaccess gibi görünmelidir. Ayrıca, bu durumda sadece, dosyaları herhangi erişmeye deneyebilirsiniz bazı eylemcileri kaldırır. Yani bu şekilde sadece ona erişebilir. Ayrıca başka bir dosyanın varlığını kontrol orada bir index.php dosyasını depolamak ve varsa, çıkış başlığını ayarlamak, değilse iyi bir fikirdir.

. Htaccess dosyası:

<Files *>
    Order Deny,Allow
    Deny from all
    Allow from localhost
</Files>

RemoveHandler .php .php3 .phtml .cgi .fcgi .pl .fpl .shtml