• 28-01-2014, 00:27:24
    #1
    Arkadaşlar mrb,
    Birkaç gündür sürekli php ile sahte refli yönlendirme için heryere bakıyorum. Bazı bulduğum kodlar çalışıyor ama tam istediğim gibi olmuyor. Aynı farklı sunuculardaa denedim durum yine aynı. Şimdi sorunun ne olduğuna gelince, sorun kod yönlendirme yapıyor istediğim refide gösteriyor fakat ip olarak sunucu ip sini gösteriyor. Yani gelen ziyaretçinin kendi ttnet adls ip sini baz almıyor. Çalıştığı sunucun ip sini baz alıyor. Bunu nasıl yapacağımı bir türlü bulamadım. Yada bana sıfırdan dediğim şekilde yönlendirme kodu yazabilecek arkadaşlar varsa çok menmun olurum. En son denediğim kodu şu aşağıdakidir. Deneme yanılma ile birşey öğrendim sanırım. Bazı yerlerde okudum. Culr ile yapılan işlemlerde daima sunucu ip sini baz aldığını öğrendim ama yinede bir yolu vardır diye düşünüyorum. Burdaki kodda google.com bizim vereceğimiz sahte referans url i diğeri whatsmyreferer.com ise gideceği hernagi bir url. Sonucu görmek için o siteyi ekledim. Eğerki sizde çalıştırırsanız göreceksiniz ip adresi olarak hostun sunucu ip ini verdiğini. Şimdiden teşekkürlerimi bildirmek isterim.
    <?php
    	$ip = $_SERVER['REMOTE_ADDR'];
        echo geturl('http://www.whatsmyreferer.com/', 'http://www.google.com');
    
        function geturl($url, $referer) { 
    
            $headers[] = 'Accept: image/gif, image/x-bitmap, image/jpeg, image/pjpeg,text/html,application/xhtml+xml'; 
            $headers[] = 'Connection: Keep-Alive'; 
            $headers[] = 'Content-type: application/x-www-form-urlencoded;charset=UTF-8'; 
            $useragent = 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.0.3705; .NET CLR 1.1.4322; Media Center PC 4.0)'; 
    
            $process = curl_init($url); 
            curl_setopt($process, CURLOPT_HTTPHEADER, $headers); 
            curl_setopt($process, CURLOPT_HEADER, 0); 
            curl_setopt($process, CURLOPT_USERAGENT, $useragent);
            curl_setopt($process, CURLOPT_REFERER, $referer);
            curl_setopt($process, CURLOPT_TIMEOUT, 30); 
    		curl_setopt($process, CURLOPT_PROXY, $ip);
    		curl_setopt($process, CURLOPT_HTTPPROXYTUNNEL, 1);
            curl_setopt($process, CURLOPT_RETURNTRANSFER, 1); 
            curl_setopt($process, CURLOPT_FOLLOWLOCATION, 0); 
    
            $return = curl_exec($process); 
            curl_close($process); 
    
            return $return; 
        } 
    
    ?>
  • 28-01-2014, 00:31:34
    #2
    Curl kütüphanesi isteği sizin sunucunuz üzerinden yollayacağı için sunucu IP adresinizin görünmesi çok doğal bir şey. Curl ya da başka bir kütüphane kullanarak IP bilgisini içeren header'da düzenleme yapamazsınız. Yani kısaca IP adresini değiştiremezsiniz. Eğer kullanıcı IP adresi üzerinden bir şeyler yapmak istiyorsanız XMLHttpRequest (Ajax) ile deneyin derim.
  • 28-01-2014, 00:33:23
    #3
    ismaildikmen adlı üyeden alıntı: mesajı görüntüle
    Curl kütüphanesi isteği sizin sunucunuz üzerinden yollayacağı için sunucu IP adresinizin görünmesi çok doğal bir şey. Curl ya da başka bir kütüphane kullanarak IP bilgisini içeren header'da düzenleme yapamazsınız. Yani kısaca IP adresini değiştiremezsiniz. Eğer kullanıcı IP adresi üzerinden bir şeyler yapmak istiyorsanız XMLHttpRequest (Ajax) ile deneyin derim.
    hocam öncelikle teşekkür ederim. yalnız o dediğiniz kodlamayı bilmiyorum işin aslı hiç bilmiyorum desem yeridir. eğer biliyorsanız bana yazarmısınız basitçe bir yönlendirme kodu ?
  • 28-01-2014, 00:39:40
    #4
    Kullanicinin ipsi ile anca javascript ile işlem yaparsan olur ya da sunucunun ip'sini göstermek istemiyorsan curl ile proxy kullanabilirsin
  • 28-01-2014, 00:50:16
    #5
    LaCReMeL adlı üyeden alıntı: mesajı görüntüle
    Kullanicinin ipsi ile anca javascript ile işlem yaparsan olur ya da sunucunun ip'sini göstermek istemiyorsan curl ile proxy kullanabilirsin
    onuda denedim ama proksiyi bazı siteler kabul etmiyor yada biliyorlar. nerden geldiğini. aynı sistemi misal hitleap.com kullanıyor. kullanıcı bazlı yönlendirme yapıyor. daha sonra bit.ly link kısaltma siteside kullanıyor. misal burdan verdiğim bi linkin referans bilgisini alarak karşı siteye ulaştırıyor.
  • 28-01-2014, 01:36:17
    #6
    Yalnız, Ajax'daki kısıtlamalar böyle bir işleme izin verecek cinsten değil. @LaCReMeL'in dediği gibi Proxy'den başka IP sorununuza çare olacak bir şey yok gibi.
  • 29-01-2014, 02:05:27
    #7
    bu söylediğiniz yapılabilseydi büyük bir güvenlik açığı olurdu.
    insanlar gitmedikleri sitelere gitmiş gibi gösterilebilirlerdi.
    curl kütüphanesi de proxy sistemleri de kullanıcının ip adresinin görünmesini sağlamaz.
    ip adresi bir tcp ip bilgisidir. siz header ile referrer bilgisini değiştirebilirsiniz ama tcp ip haberleşmesine curl ile müdahale edemezsiniz.
    belki socket programlama ile tcpip emule edilebilir ama dönen yanıt size değil, verdiğiniz ip adresine döneceği için yine sağlıklı haberleşme olmazdı herhalde.
    ajax ve javascript de güvenlik kısıtlamaları nedeniyle başka siteye bu şekilde bağlanmaya izin vermez.
    ancak client side java çalıştırarak böyle şeyler yapabilirsiniz.

    böyle bir şey olsaydı ip adresinin zaten hiç bir anlamı kalmazdı.
  • 29-01-2014, 04:21:25
    #8
    digiklan adlı üyeden alıntı: mesajı görüntüle
    bu söylediğiniz yapılabilseydi büyük bir güvenlik açığı olurdu.
    insanlar gitmedikleri sitelere gitmiş gibi gösterilebilirlerdi.
    curl kütüphanesi de proxy sistemleri de kullanıcının ip adresinin görünmesini sağlamaz.
    ip adresi bir tcp ip bilgisidir. siz header ile referrer bilgisini değiştirebilirsiniz ama tcp ip haberleşmesine curl ile müdahale edemezsiniz.
    belki socket programlama ile tcpip emule edilebilir ama dönen yanıt size değil, verdiğiniz ip adresine döneceği için yine sağlıklı haberleşme olmazdı herhalde.
    ajax ve javascript de güvenlik kısıtlamaları nedeniyle başka siteye bu şekilde bağlanmaya izin vermez.
    ancak client side java çalıştırarak böyle şeyler yapabilirsiniz.

    böyle bir şey olsaydı ip adresinin zaten hiç bir anlamı kalmazdı.
    teşekkürler yanıt için. ama hocam adamlar yapmışlar şimdi. nasıl yapmışlarsa. konuda da dediğim gibi bit.ly misal tıklandığı yerin ref bilgisini alıp karşı siteye veriyor belki ip yi değiştiremiyor ama tıklayan insanın ipsini veriyor. sonra hitleap oda aynı şekilde çalışıyor. istediğiniz siteden gönderebiliyorsunuz hiti. bunu nasıl becermişlerse bilmiyorum ama yapmışlar yinede helal olsun. socket kullanarak olabilir. ama onuda beceremedim yoksa kodlaını buldum. çalıştırdığım sunucu hata verdi. yinede umutluyum belki yapabilen birisi çıkabilir.