• 19-05-2009, 13:28:15
    #1
    Benim sitede siteadi.com/sol.php yazdığınız zaman açabiliyorsunuz.

    Normalde bir sitede her bir dosyanın kendi başına açılmaması gerektiğini düşünüyorum, yanılıyor muyum?

    Bir de her bir dosyaya tekrar tekrar
    <? require ("configuration.php") ; ?>
    diye yazmak mecburi mi?
  • 19-05-2009, 13:38:03
    #2
    janocan adlı üyeden alıntı: mesajı görüntüle
    ... her bir dosyanın kendi başına açılmaması gerektiğini düşünüyorum...
    Bunu önlemek için config dosyanızda ;

    define('durum','ok');
    şeklinde bir sabit tanımlarsınız

    sol.php veya sag.php dosyanızda

    if (!defined('durum')) {die('Bu dosyaya dogrudan erisemezsiniz');}
    şeklinde kullanabilirsiniz.

    Bu sayede önce config.php dosyası include edilmişse ardından çağrılan sayfalarda 'durum' kontrolü yapılarak kısıtlama sağlanabilir.
  • 19-05-2009, 14:46:22
    #3
    uysal_rockci adlı üyeden alıntı: mesajı görüntüle
    Bu sayede önce config.php dosyası include edilmişse....
    nasıl yani "önce" ?
    Önce ne olacak sonra ne olacak, açıklamazsanız anlamam valla
  • 19-05-2009, 14:58:58
    #4
    janocan adlı üyeden alıntı: mesajı görüntüle
    nasıl yani "önce" ?
    Önce ne olacak sonra ne olacak, açıklamazsanız anlamam valla
    config.php içeriği

    $db['user'] = 'falanfilan';
    $db['sifre'] = 'falanfilan';
    
    include 'functions.php';
    ...
    ..
    .
    
    define('durum','ok');
    index.php içeriğin;

    //en başta
    include 'config.php';
    
    
    //sonra harici dosyalar
    include 'header.php';
    include 'sag.php';
    include 'sol.php';
    include 'footer.php';
    gibi olsun.

    header , sag , sol veya diger dosyalarında en üste
    //en üstte
    if (!defined('durum')) {die('Bu dosyaya dogrudan erisemezsiniz');}  
    //sonra sidebar vs. ilgili kodlar
    eklersen istediğin olacaktır.


    yani : falanfilan.com/header.php diye çağrılısa Bu dosyaya dogrudan erisemezsiniz şeklinde hata verecektir.

    ama /index.php diye çağrıldığında önce config dosyası include edildiği için ( durum sabiti tanımlanmış oluyor. ) hata vermeyecek çalışacaktır.

    forum üzerinden yazdım, yazım hatası olabilir.
  • 19-05-2009, 15:06:20
    #5
    Aynen kopyaladım ama sol taraf da hata verdi. Demek bende var bir yamukluk.
  • 19-05-2009, 15:14:43
    #6
    janocan adlı üyeden alıntı: mesajı görüntüle
    Aynen kopyaladım ama sol taraf da hata verdi. Demek bende var bir yamukluk.
    hata derken ?
    isimler dosya isimlerin filan farklıdır,
    sonuçta mantığın kavranması için sallayarak yazım ben
  • 19-05-2009, 15:26:06
    #7
    if (!defined('durum')) {die('Bu dosyaya dogrudan erisemezsiniz');}
    bunu alıp sol.php nin en üstüne yapıştırdım.
    Ana sayfayd "Bu dosyaya dogrudan erisemezsiniz" yazdı.
  • 19-05-2009, 15:29:00
    #8
    index gibi sayfaların gösterildiği dosyada config.php mutlaka include ediliyordur diye düşünüyorum. veritabanı ayarları için vs...
    config.php dosyanda : define('durum','ok'); şeklinde tanımladın mı ?
  • 19-05-2009, 15:35:18
    #9
    Hah şimdi onu yaptım.
    Şimdi siteadi.com/sol.php diye denediğim zaman karşıma "Bu dosyaya dogrudan erisemezsiniz" çıktı.

    Oldu şimdi, anladım meseleyi. Teşekkür ederim.

    Siz şimdi bu dosyaya neden direkt erişilemediğini de biliyorsunuzdur
    Şaka şaka (Nasrettin Hoca fıkrasını çağrıştırdım)...