2017-04-04 91 views
6

Şu anda sıfırdan bir WordPress Tema inşa ediyorum. Geçmişte yoğun bir şekilde PageBuilders'a güvenmeme rağmen, arka uç çalışmasıyla orta düzeyde deneyimim var. Şimdi, Şu anda web sitesi dosyaları için güvenlik arıyorum vb Şimdilikne demektir [if (! Defined ('ABSPATH'))] 'iş başında öğrenme' için bir araç olarak

onun Yük Hız arttırmak için bir araç olarak herhangi Pagebuilders olmadan Tema oluşturmak istiyor ve bir sonraki dönemde geldi:

<?php 
    if (! defined('ABSPATH')) { 
     exit; // Exit if accessed directly 
    } 
?> 

Bunun, web dosyalarına doğrudan erişimi engelleyeceğinin bilincindeyim. Bununla ne demek istediğinden emin değilim. Örneğin, dosyalara FTP aracılığıyla, Sunucu üzerinden ve WordPress Dashboard üzerinden erişebiliyordum. Bunun önlediği başka doğrudan erişim var mı? Belki de WordPress Plugins vb. Bununla

akılda, yukarıdaki kod standart olarak tema içinde her dosya yerleştirilmelidir varsaymak doğru olur? İstisnalar var mıydı?

Bu herhangi bir başka açıklaması, büyük takdir.

+2

sırf bazı kelime tanıma sonuçlara atlamak etmeyin yardımcı olur. Kodun gerçekte ne dediği hakkında _Think_. O zaman daha fazla değil: costant 'ABSPATH' _not_ tanımlıysa, çıkın. Daha fazla değil. Güvenlik sorunlarının iyi olup olmadığı, bir sürü başka ayrıntıya bağlıdır. Kesinlikle, bir yerde bulduğunuz kod snippet'ini körü körüne kopyalamak istiyorsanız _not_. – arkascha

+3

Wordpress ile bir URL'ye gittiğinizde, onun 'index.php' dosyasına erişiyorsunuz. Bu dosya 'ABSPATH' sabiti (bulunduğu yerde) belirler. Gördüğünüz kontrol, sayfaya 'index.php' ile eriştiğinize ve bu belirli dosyaya göz atmaya çalışmadığınıza emin olun * doğrudan *. Böyle 'http erişmeye çalışırken olarak: // example.com/wp-içerik/your_file.php' kesinlikle (daha sağlam) daha iyi vardır –

+0

engellemek demektir (I saklar dosyaları, sadece bir örnektir nasıl wordpress emin değilim) Bazı web kurulumlarında rasgele dosyaların komut dosyası sabitlerine göre daha fazla kullanılması. Bu koruma, http sunucu düzeyinde yapılmalıdır. – arkascha

cevap

5

doğrudan URL aracılığıyla e .php dosyalara erişmek için kamu bile engeller. Çünkü dosyanız bazı G/Ç işlemlerini içeriyorsa, sonunda (bir saldırgan tarafından) tetiklenebilir ve bu beklenmedik davranışlara neden olabilir.

Yani, dosyaları (doğrudan) erişime önleyebilir parçacıkları kullanarak ve Tema dosyaları yalnızca WordPress ortamında yürütülecek olmasını sağlar.

Kullanımı:

  1. It wp-config.php
  2. üstündeki yerleştirilebilir
  3. PHP dosyaları (tema & eklentisi) herhangi birinin üst kısmında yerleştirilebilir

o

+0

sayesinde şimdi anladım.Benim düşüncemdeki koşullu mantığın etkili bir şekilde söylediğini düşünürsek: 'Bu dosyaya doğrudan URL'de erişilirse, dosyanın içeriğinin geri kalanını tarayıcıya yüklemeyin. Dosya WordPress Ortamında içeriyorsa, dosyanın içeriğini yüklemeye devam edin. – HanniBaL90

+0

devsam247 @ Teşekkür; devsam247 @ size – Craig