• 15-07-2008, 11:51:18
    #10
    if($_SERVER['HTTP_REFERER'] == ''){
    die('Referer boş');
    }
    if(strpos($_SERVER['HTTP_REFERER'],$_SERVER['HTTP_HOST'] == false){
    die('Sayfaları site üzerinden gezin');
    }
  • 15-07-2008, 19:58:51
    #11
    Üyeliği durduruldu
    Alıntı
    İkiside Olmadı :S
    Alıntı
    Hocam Yine Olmadı :S
    Arkadaşlar sorunu(nu)n cevabını vermişler ama unutulmaması gereken noktaları unutmuş yada hatırlamıyor gibiler...

    courageous, Bu kullanılan SERVER Değişkenler sadece Apache ve IIS'de çalışır.
    Senin Sunucunda Kurulu Olan WEB Serverin Modeli Nedir?

    bişi daha eklemek istiyorum...
    Dikkatimi çekti forumda herkes kendi sitesi üzerindeki işlemler için HTTP_REFERER kullanıyorlar ve kullandıkları gibi bide öneriyorlar...
    Arkadaşlar bu yanlış bilgidir ve yanlışı başkalarına lanse etmektir.

    HTTP_REFERER Değişkenini siz kendi sitenizde kullanacağınız işlemler için harcayacaksanız işleriniz çok çok karışır çunku http_Rfr.. İle başka siteden geldiğin zaman o geldiğin başka sitenin URL değerini verecektir sana.
    kendi siteniz üzerindeki URL işlemleri için lütfen request_uri, http_host, query_string gibi server değişkenlerini birleştirerek kullanın.

    Kolay Gelsin.
  • 05-09-2008, 04:08:17
    #12
    Üyeliği durduruldu
    request_uri, http_host, query_string

    Bunları biraz daha açarmısın ?
  • 05-09-2008, 15:02:38
    #13
    Denemedim ama çalışması lazım...
    <?
    function kontrol($urls){
    	foreach($urls as $key => $value){
    		preg_match('@^(?:http://)?([^/]+)@i', $_SERVER['HTTP_REFERER'], $matches);
    		preg_match('/[^.]+\.[^.]+$/',$matches[1], $matches);
    		if($matches[0]==$value)
    			return true;
    	}
    	return false;
    }
    
    if(!kontrol(array(
    		'siteadi.com',//başında http ve www olmayacak...
    		'siteadi2.com'	,
    			)
    		)
    )
    die('izin yok');
    ?>
    Ama şunuda söyliyeyim adress satırından girememesini engelliyorsun ama bu tam bir çözüm değildir. Firefox eklentisi ile çok rahat aşılıyor bu engel...
  • 08-09-2008, 00:38:03
    #14
    Bu kodlar sadece linux hostlarda işe yarıyor sanırım,
    bende olmadı malasef
    en çok ihtiyacım olan kod buydu, bunu windows hostlarda yapabilme şansızmız varmı arkadaşlar
  • 08-09-2008, 02:36:01
    #15
    Bunu denermisin...
       <?
    function kontrol($urls){
        foreach($urls as $key => $value){
            preg_match('@^(?:http://)?([^/]+)@i', $_ENV['HTTP_REFERER'], $matches);
            preg_match('/[^.]+\.[^.]+$/',$matches[1], $matches);
            if($matches[0]==$value)
                return true;
        }
        return false;
    }
    
    if(!kontrol(array(
            'siteadi.com',//başında http ve www olmayacak...
            'siteadi2.com'    ,
                )
            )
    )
    die('izin yok');
    ?>
  • 08-09-2008, 12:38:49
    #16
    Kimlik doğrulama veya yönetimden onay bekliyor.
    referer bilgileri bypass edilir kimse bundan bahsetmemiş SESSION ile oturum kontrolü yap SESSION atanmamışsa sayfayı açtırmazsın...
  • 08-09-2008, 13:23:36
    #17
    Üyeliği durduruldu
    Session ile olabilir aslında doğru.
    Örneğin:index.php'de bir session tanımla sonra sayfa2.php'nin en tepesinde session kontrolü yap.Eğer session tanımlanmışsa sayfa açılsın.
  • 09-09-2008, 02:58:32
    #18
    mustafa90 adlı üyeden alıntı: mesajı görüntüle
    Bunu denermisin...
       <?
    function kontrol($urls){
        foreach($urls as $key => $value){
            preg_match('@^(?:http://)?([^/]+)@i', $_ENV['HTTP_REFERER'], $matches);
            preg_match('/[^.]+\.[^.]+$/',$matches[1], $matches);
            if($matches[0]==$value)
                return true;
        }
        return false;
    }
    if(!kontrol(array(
            'siteadi.com',//başında http ve www olmayacak...
            'siteadi2.com'    ,
                )
            )
    )
    die('izin yok');
    ?>
    İlgilendiğin için teşekkür ederim değerli kardeşim, ama malesef izin yok diyor, tanımladığım linkden girmeme rağmen
    siteadi.com/falan.php den ulaşılsın istiyorum ama olmadı
    ulaşılmasını istediğim sayfanın tepesine yazdım bu kodu.
    Değerli arkadaşlar Session ile olabilir aslında demişşiniz, biraz incledim nette fakat bi örnek bulamadım malasef, php bilgim malesef yüzeysel derecede
    session ile örnek bi kod yazrmısnız birde o şekilde denemek istiyorum


    Not: Aklıma takıldıda arkadaşlar şimdi yukarıdaki kodu sadece ulaşılmasını istediğim sayfaya yazıyorum, peki ulaştıran sayfaya bişey yazmam gerekmiyormu,