(bazı) yüklemelere / indirmelere erişimi kısıtlamak için basit bir çözüm


11

Başlangıç ​​durumu

Kurmakta olduğum bir site için, yükleme / indirme işlemlerini güvenli hale getirme ve kullanıcı rollerine / yeteneklerine göre bunlara erişimi kısıtlama konusuna bakıyordum. Tabii ki, buradaki (genel) konuyla ilgili önceki soruların bazılarını okudum, referans nedenlerle bulduğum en önemli / ilginç sorular:

Ek notlar

Genellikle wordpress kurulumunuzun güvenliğini arttırmak kötü bir fikir değildir - örneğin kendinizi korumak wp-config.php- yapabileceğiniz ve yapmanız gereken çok şey vardır. Bunun nasıl yapılacağı hakkında bir ton bilgi var. Bu soru bağlamında çoğunlukla yüklemelerim / indirmelerimle ilgili olarak anlaşıyorum.

Wordpress yüklemeleri güvenli değildir, aşağıdakilerle uploadsengellenmedikçe herkes klasöre göz atabilir .htaccess:

Options All -Indexes

.htaccessDosya içine yerleştirilmiş olmalıdır uploadsklasöre. Ama bu onları gerçekten güvence altına almıyor, sadece dosyaları bulmayı zorlaştırıyor. Buna ek olarak hotlinking, esentially esasına göre kısıtlama referrer- bu biraz farklı olsa da ben bahsettiğimi düşündüm, daha ayrıntılı değilim, bu konuda bol miktarda bilgi bulabilirsiniz.

Tabii ki yazıları özel yapma veya bu yazı tipini özel yapmak için uygun şablon dosyalarıyla özel bir yazı tipi oluşturma olanağı vardır, ancak dosyalarınızı güvence altına almazsınız. Aynı şey dosyaları is_user_logged_in()veya gibi koşullara sarmak için de söylenebilir is_admin().

Sidenote'ta, dosyalarınızı güvenli ve korumalı hale getirmeyi vaat eden birçok eklenti var, ancak birçoğu bunu yapıyormuş gibi yapıyor, nedenlerinden bazıları yukarıda. Ben sadece bunu döküyorum çünkü herkesin bilmediğinden eminim - bu yüzden bunun farkında ol.

Amaç

Amacım (bazı) yüklemelere ve sırasıyla indirmelere erişimi kısıtlamaktı. İstenmeyen kimsenin bunlara erişemeyeceğinden emin olmak için, tesadüfen veya dosya adını bilen birinin dosyalarının gerçekten özel ve güvenli olması gerekir. Sonuçta, sadece belirli insanlar istisnasız erişime sahip olmalıdır.

Buna ek olarak, tüm siteyi özelleştirmeye gerek duymadım, gerçekten de verimsiz olurdu - halka açık sunum amaçları için kullanılır. Dahası, çözümün kolayca kullanılabilir olmasını istedim, bununla birlikte çalışan kişilerin bazılarının tam olarak bilgisayar uzmanı olmamaları basit bir nedenden dolayı, çoğu zaman olduğu gibi.

Soru

Dolayısıyla soru, (bazı) yüklemelere ve ilgili indirmelere erişimi kısıtlamanın (nispeten) basit bir yolu var mı? Ve yaptığım gibi, bu onları gerçekten korumanın ve güvence altına almanın bir yolu mu?


Çözümünüzü soruya gömmek yerine bir cevap olarak eklemelisiniz.
s_ha_dum

Ve lütfen uygun büyük / küçük harfleri kullanın. Sohbet gibi okuyor ...
Kaiser

Yapıcı eleştiri için teşekkürler, yakında bir süre sonra yeniden düzenleyeceğim ve yeniden yapılandıracağım.
Nicolai

Yanıtlar:


8

Burada kendi sorumu cevaplıyorum, çünkü bir çözüm buldum, ama gerçekten bu konudaki görüşlerinizle ilgileniyorum. Ya da belki çok daha iyi bir çözümünüz var, eğer öyleyse, bu konuda gerçekten istiyorum.

Araştırma sonucu

Araştırma sonuçlarım:
1. dosyaları belge kök, wwwklasör dışında almak ;
2. dosyaları içeren klasöre doğrudan erişime izin vermeyin;
3. bir komut dosyasının dosyalara yönelik istekleri işlemesine izin verin;
Bu noktaların kaynakları - en azından çoğunlukla - soruma dahil edildi.

Çözüm

  1. Eklentiyi yükledim » wp-downloadmanager «
    • adında bir klasör süreç filesiçinde oluşturulacak wp-content;
  2. .htaccessYeni filesklasöre bir dosya ekledim :
    • içeriği .htaccess:
      Options All -Indexes
      Order Deny,Allow
      Deny from all
  3. Eklentinin önemli bir seçeneğini değiştirdim:
    • demek istediğim seçenek download method;
    • Bunu şöyle değiştirdim output file;
  4. Eklenti arayüzüne bazı dosyalar ekledim:
    • denilen bir seçenek var allowed to download;
    • kullanıcı rolüne / yeteneğine göre erişimi kısıtlamaya izin veren;
  5. Bazı testler yaptım:
    • dosyalara doğrudan erişim yok - adres çubuğu veya wget üzerinden değil;
    • halka açık indirmelere kalıcı bağlantılarından erişilebilir - Ben »güzel kalıcı bağlantılar: evet« ve »indir url: dosya kimliği« seçeneklerini panelden seçebilirim - adres çubuğu / wget de çalışıyor;
    • korumalı, kısıtlanmış indirmelere yalnızca doğru rol / yeteneklere sahip kullanıcı olarak giriş yapıldığında erişilebilir;

Sonuç düşünceleri

Çözümün araştırma sonuçlarını hemen hemen takip ettiğini düşünüyorum. Dışında dosyaları yerleştirmek dışında. Ancak dizine erişimi kısıtlamak / korumak ve bir komut dosyasının dosya isteklerini işlemesine izin vermek. Erişim kısıtlaması tarafından yönetilir .htaccessve bu durumda komut dosyası eklentidir wp-downloadmanger.

Ek notlar

  • öyle kesinlikle gerekli değiştirmek download methodiçinoutput file
  • ve tabii ki dosyanın yerinde olması şart.htaccess

  • eklentinin komut dosyasının rolünü devraldığını kontrol etmek wp-downloadmanger.php- yaklaşık 207 ila 227 satırları (sürüm 1.6.1); bu bağlantılı bilgilere tamamlayıcı bir nokta olarak ifade edilir

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.