IRCForum - IRC ve mIRC Kullanıcıları Topluluğu  
  IRCForum - IRC ve mIRC Kullanıcıları Topluluğu > IRCForum.Gen.TR - Webmaster > Wordpress
Kaydol Topluluk Bugünkü Mesajlar Ara


if (! Defined (‘ABSPATH’)) exit; Nedir , Kullanımı ?

Wordpress hakkında tema, eklenti veya sorunlarına bu başlık altından ulaşabilirsiniz.


Kullanıcı Etiket Listesi

Yeni Konu Aç Cevapla
 
Konu Araçları Görünüm Modları
Eskimiş 17-Ocak-2025, 17:13   #1
 
SynaX Kullanıcısının Avatarı

Üye No: 1
Kayıt Tarihi: 26-Aralık-2024
Mesajlar: 861
Konular: 829
Nerden: Bursa
Takımı: Beşiktaş
Meslek:
Aldığı Beğeni: 4
Beğendikleri: 7
@SynaX
Varsayılan if (! Defined (‘ABSPATH’)) exit; Nedir , Kullanımı ?

Bu ifade aslında wordpress alt yapısına sahip bütün web sitelerinde var olan bir yapıdır. Kendiniz tema yazarken de , hazır tema kullanırken de bu ibareye rastlayabilirsiniz. Bu durumun kullanılmadığı web sitelerinde açıklar meydana gelebilir. Yakın zaman önce yazmış olduğum bir script sayesinde fark ettiğim bir durumdu ve bu durumun bir zaaf yaratabileceğini düşündüm , bunu iyileştirmek için de birçok kaynaktan (stackoverflow , wordpress.org) bilgi edinerek eksikliği giderdim. if (! Defined (‘ABSPATH’)) exit; ifadesi kodun yer aldığı sayfaya doğrudan erişimi engelleyen bir komut satırıdır. En belirgin örneğini de hazır scriptlerde , kendi yazmış olduğunuz bazı wordpress sitelerde görebilirsiniz. Sitenizi bölmelere ayırdığınızda örneğin header.php sayfasını direkt olarak url bölümüne yazan bir kullanıcı istemediğimiz şeyler ile karşılaşabilir. Ya da diğer bölümlere… Bu durumda if (! Defined (‘ABSPATH’)) exit; ifadesini kullanarak “Exit if accessed directly” yani “Doğrudan erişilirse çıkın” emrini veriyoruz.

Burada exit kodu yerinde daha farklı komut satırları da çalışabilir ancak bu saldırganlar için açık olabileceğinden direkt olarak burada exit ifadesini kullanıp geriye kalan kodları bitiriyoruz. Burada wordpress sisteminde fark edeceğiniz üzere bir hata meydana gelir. Bu hata ister ekrana basılır isterseniz 404 sayfanıza yönlendirebilirsiniz. WordPress bir projede bir url’ye erişmek istediğinizde ilk olarak index.php sayfasına erişim sağlarsınız. Burada önemli nokta ABSPATH ifadesidir.Bu ifade sizin index.php dosyasına doğrudan erişim sağlamak isteyip istemediğinizi net olarak belirlemenizi sağlar.

Stackoverflow üzerinden edindiğim bilgilere göre .php dosyalarınıza doğrudan url yolu ile erişmek isteyen kullanıcılar(saldırganlar da olabilir) giriş çıkış işlemleri varsa eğer sizi zor durumda bırakabilirler. Bu da istenmeyen bir durum olduğu için bu kod bloğunu kullanmakta fayda var.

if (! Defined (‘ABSPATH’)) exit; Kullanım
  • PHP dosyalarınızın herhangi birinin üstüne yerleşebilir (tema ve eklenti)
  • Wp-config.php dosyanızın üst kısmına yerleştirilebilir.
Örnek Kullanım
Kod
<?php 
    if ( ! defined( 'ABSPATH' ) ) {
        exit; // Exit if accessed directly => Doğrudan erişilirse çıkın
    }

?>
İki farklı şekilde bu ifadeyi sitenize uyarlayabilir ve kullanabilirsiniz.
Makale ile ilgili daha fazla bilgi için aşağıdaki adresleri ziyaret edebilirsiniz ;

https://stackoverflow.com/questions/43212340/what-is-meant-by-if-defined-abspath
https://wordpress.org/support/topic/...-abspath-exit/

 
Alıntı ile Cevapla
Cevapla

Yer İmleri

Etiketler
defined, exit, if (! defined (‘abspath’)) exit; nedir, kullanimi, nedir, ‘abspath’


Konuyu Görüntüleyen Aktif Kullanıcılar: 1 (0 üye ve 1 misafir)
 

Yayınlama Kuralları
Yeni konu açamazsınız
Cevap gönderemezsiniz
Eklenti ekleyemezsiniz
Mesajlarınızı düzenleyemezsiniz

Kodlama is Açık
İfadeler Açık'dir
[IMG] kodu: Açık
HTML kodu: Kapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Kapalı