• 24-01-2010, 16:09:24
    #1
    if (!defined('IN_SITE')) {
    	die('deneme');
    }
    bu kod ne işe yarar?

    Edit:
    Deneme yanılma ile anladım .

    a.php dosyasına
    if (!defined('IN_SITE')) {
    	die('erişim yok');
    }
    eklediğimizde direk a.php ye girdiğimizde erişim yok yazıyor.
    a.php yi b.php ye include ettiğimiz de de aynı erişim yok yazıyor.
    Ama b.php başına
    define('IN_SITE', true);
    eklediğimizde a.php içeriğini görebiliyoruz...
  • 24-01-2010, 16:46:49
    #2
    Bir nevi güvenlik önlemidir. Sayfalandırma yaptığınızda kullanmanızı öneririm. Uzaktan çağırımı durdurduğu için güzel bir yöntemdir.
  • 24-01-2010, 20:19:14
    #3
    IN_SITE adında bi değişken tanımlanmış. Senin verdiğin kod ise bunun varlığını (tanımlanıp tanımlanmadığını) kontrol ediyor.

    define ('IN_SITE', 'evet');
    arkadaşında dediği gibi siteyi kurcalamak isteyenler senin include ettiğin dosyaları uzaktan direk çağırmasın diye.

    örneğin A.php sayfası deneme.php sayfasına include ediliyor olsun.

    include ("A.php");
    yani A.php sayfasını sadece böyle araya entegre ederek kullandığını varsayalım. ozaman bu dosyayı dışardaın birinin www...com/A.php yazıp çağırmasını görmesini istemezsin. Sadece deneme.php sayfasının çağırabildiğinden emin olman gerekir..

    o yüzden deneme.php sayfasının en tepesine bi değer tanımlarsın, diğer include ettiğin sayfada da bunun varlığını kontrol edersin. örn.

    deneme.php :

    <?
    define ('IN_SITE', 'evet');
    
    echo 'diger içeriğimiz: <br />';
    include ("A.php");
    ?>
    A.php :

    <?
    if (!defined('IN_SITE')) {
        die('uyarı: Bu dosyayı sadece include ederek kullanabilirsiniz. dışardan direk çağırırsanız ahanda bu kontrole takılırsınız :P ');
    }  
    ?>
  • 24-01-2010, 22:34:25
    #4
    Üyeliği durduruldu
    include ettiginiz dosyalarin harici cagrimini engellemek için güvenlik önlemidir
  • 24-01-2010, 22:45:01
    #5
    define ile bir değişken değil, sabit tanımlanıyor. defined ile belirtilen sabitin olup olmadığı kontrol ediliyor.

    http://tr.php.net/manual/tr/function.define.php
    http://tr.php.net/manual/tr/function.defined.php
  • 25-01-2010, 01:49:19
    #6
    OfisSoft adlı üyeden alıntı: mesajı görüntüle
    define ile bir değişken değil, sabit tanımlanıyor. defined ile belirtilen sabitin olup olmadığı kontrol ediliyor.

    http://tr.php.net/manual/tr/function.define.php
    http://tr.php.net/manual/tr/function.defined.php
    evet düzeltme için teşekkürler.