• 10-10-2012, 22:25:16
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Merabalar,

    Farklı bir dosyadan kod çağırmak istiyorum, ama hata yapıyorum bir yerde.
    aşağıdaki kodları görünce zaten anlayacaksınız sanırım nasıl olacağını.

    (php seviyem çok düşük, basit bir işlemse dalga geçmeyiniz lütfen )

    index dosyasındaki kod:

    function site_kaynak($url) {
            if (function_exists('curl_init')) { 
                $ch = curl_init($url); 
                curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
                curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); 
                curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); 
                return curl_exec($ch); 
            } else { 
                return file_get_contents($url); 
            } 
     }
     
    $a=site_kaynak('http://uzak/db.php');
     $bilgi = explode(";",$a);
    
    
    $ippp=$_SERVER['REMOTE_ADDR'];
    $serverr = $_SERVER[HTTP_HOST];
    if ($serverr != 'localhost'){
    $bag = mysql_connect($bilgi[0],$bilgi[1],$bilgi[2]);
    mysql_select_db($bilgi[0],$bag);
    $adress = $_SERVER[PHP_SELF].$_SERVER[QUERY_STRING];
    $linkk=$serverr.$adress;
    $ipp=$_SERVER['REMOTE_ADDR'];
    $date=date("d-m-Y/H:i");
    
    $saim = mysql_num_rows(mysql_query("select * from sorgu where sorgu1 = '$linkk'",$bag));
    
    if ($saim==0){
    $ekle = mysql_query("insert into sorgu (sorgu1,sorgu2,sorgu3)values('$linkk','$ipp','$date')",$bag); } 
    
    mysql_close($bag);
    }
    uzak/db kod:

    $a = "dbadi;sunucu;dbkullanici;sifre"
  • 10-10-2012, 22:40:21
    #2
    Uzaktaki dosya ekran çıktısı olarak birşey vermiyorsa, yani istediğiniz veri o dosyadaki bir değişken gibi birşey ise; Böyle birşey mümkün değil. O dosyadaki veriyi alamazsınız.
  • 10-10-2012, 23:15:41
    #3
    Ben de sizin gibi düşünüyordum ancak curl ile böyle birşeyin mümkün olduğunu söylediler ve belirtilen kodu bulabildim en alakalı şekilde. Yanlış bilgi mi verilmiş bana, phpden hiç anlamıyorum o yüzden bir kontrol etsek olur mu?
  • 11-10-2012, 00:06:35
    #4
    mJet adlı üyeden alıntı: mesajı görüntüle
    Ben de sizin gibi düşünüyordum ancak curl ile böyle birşeyin mümkün olduğunu söylediler ve belirtilen kodu bulabildim en alakalı şekilde. Yanlış bilgi mi verilmiş bana, phpden hiç anlamıyorum o yüzden bir kontrol etsek olur mu?
    http://uzak/db.php sitesine girdiğinizde ekranda birsey yazmıyorsa curl ile bilgi alamazsınız
  • 11-10-2012, 00:11:45
    #5
    By_MiLaT adlı üyeden alıntı: mesajı görüntüle
    http://uzak/db.php sitesine girdiğinizde ekranda birsey yazmıyorsa curl ile bilgi alamazsınız
    Anladım teşekkür ederim,

    peki aşağıdaki kodun çalışma sistemi nasıl, ekrandaki çıkan yazıyı nasıl çekecek, şuanki gösterdiğim kodlara göre örnek bir çalışmasını göstermeniz mümkün mü rica etsem

    $bag = mysql_connect($bilgi[0],$bilgi[1],$bilgi[2]);
    mysql_select_db($bilgi[0],$bag);
    $a=site_kaynak('http://uzak/db.php');
     $bilgi = explode(";",$a);
  • 11-10-2012, 00:51:51
    #6
    Kimlik doğrulama veya yönetimden onay bekliyor.
    mJet adlı üyeden alıntı: mesajı görüntüle
    Merabalar,

    Farklı bir dosyadan kod çağırmak istiyorum, ama hata yapıyorum bir yerde.
    aşağıdaki kodları görünce zaten anlayacaksınız sanırım nasıl olacağını.

    (php seviyem çok düşük, basit bir işlemse dalga geçmeyiniz lütfen )

    index dosyasındaki kod:

    function site_kaynak($url) {
            if (function_exists('curl_init')) { 
                $ch = curl_init($url); 
                curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
                curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); 
                curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); 
                return curl_exec($ch); 
            } else { 
                return file_get_contents($url); 
            } 
     }
     
    $a=site_kaynak('http://uzak/db.php');
     $bilgi = explode(";",$a);
    
    
    $ippp=$_SERVER['REMOTE_ADDR'];
    $serverr = $_SERVER[HTTP_HOST];
    if ($serverr != 'localhost'){
    $bag = mysql_connect($bilgi[0],$bilgi[1],$bilgi[2]);
    mysql_select_db($bilgi[0],$bag);
    $adress = $_SERVER[PHP_SELF].$_SERVER[QUERY_STRING];
    $linkk=$serverr.$adress;
    $ipp=$_SERVER['REMOTE_ADDR'];
    $date=date("d-m-Y/H:i");
    
    $saim = mysql_num_rows(mysql_query("select * from sorgu where sorgu1 = '$linkk'",$bag));
    
    if ($saim==0){
    $ekle = mysql_query("insert into sorgu (sorgu1,sorgu2,sorgu3)values('$linkk','$ipp','$date')",$bag); } 
    
    mysql_close($bag);
    }
    uzak/db kod:

    $a = "dbadi;sunucu;dbkullanici;sifre"
    Arkadaşım istediğini yanlış analamdıysam, başka bir adresten db bilgilerini alıp oraya bağlanmak istiyorsun. uzak db deki kod:
    $a = "dbadi;sunucu;dbkullanici;sifre";
    echo $a;
    şeklinde olmalı, yani değişkeni yazdırmalısın. Ve orada geçen sunucuda ki mysql dışarıdan erişime açık olmalı. Yalnız bu şekilde güvenlik açığı olur. Senin o http://uzak/db.php adresini bulan birisi mysql bilgilerini görmüş olur zaten.

    Onun yerine o bilgileri scriptin içine ekleyip bağlantını o şekilde yapman gerekli.

    Bunun dışında olayın curl ile vs. alakası yok. Çıktıyı verdikten sonra ha curl ile almışsın ha file_get_contents veya başka yolla farketmez.
  • 11-10-2012, 14:31:28
    #7
    Üyeliği durduruldu
    Başka bir siteden böyle bir şekilde veri çekilseydi hacklenmedik site kalmazdı. Girdiğiniz sitelerin bir çoğu config.php kullanır ve genelde ana dizinde yada "/inc/config.php" şeklinde olur herkes rahatlıkla erişirdi.
  • 11-10-2012, 18:24:47
    #8
    şöyle bir yol olabilir. şifreleme sistemi ile ekrana basarsın sonra tekrar şifrelemeyi çözüp kullanırsın.