• 18-09-2009, 02:24:38
    #1
    Üyeliği durduruldu
    Konu baslıgı için kusura bakmayın. Baslık olarak ne yazacagımı bilemedim. Şimdi sorum su;

    filedownload.php?id=12323 gibi bir adresi nasıl açıp asıl download adresini alabiliriz?

    yani diyelinki download adresi www.abc.com/a.rar, bunu site filedownload.php?id=12323 bu şekilde gösteriyor.

    filedownload.php?id=12323 bunu kullanarak nasıl www.abc.com/a.rar, asıl dosya adresini elde edebiliriz?
  • 18-09-2009, 02:54:50
    #2
    Üyeliği durduruldu
    dostum o algoritmayı çözemiyorsan o avatarını değiştir bence

    siteye göre yapmak istediğin şeye göre değişir. ama sonuç olarak tam adres bulunur
  • 18-09-2009, 04:14:51
    #3
    Üyeliği durduruldu
    yani ??

    bir fikir yok mu? veya yol gösteren bir sey?
  • 18-09-2009, 04:44:08
    #4
    <?php
    // db seç
    $dbcnx = @mysql_connect("localhost","user","pass");
    $dbselect = @mysql_select_db("db_adi");
    mysql_query("SET NAMES 'utf8'");
    mysql_query("SET CHARACTER SET utf8");
    mysql_query("SET COLLATION_CONNECTION = 'utf8_general_ci'");
    // Bilgileri çek.
    $sorgu = mysql_query("SELECT file_dl FROM file WHERE id = '$_REQUEST[id]'");
    $gelen = mysql_fetch_array($sorgu);
    $dosya = $gelen['file_dl'];
    $url = "http://siten.com/download/$dosya";
    header("Location: $url");
    ?>
    veritabanında file tablosunda file_dl adlı sutunda download edilecek dosyaların adlarının kayıtlı olduğu farzedilmiştir.

    download.php?id=5 şeklinde çağırdığınız zaman sizi direk 5. satırdaki dosya adını alarak (örneğin program.rar diyelim)

    hxxp://siten.com/download/program.rar urlsine yönlendirecektir.

    Edit: sanırım yanlış anlamışım isteğinizi,

    Eğer dosya gerçek dizinden readfile fonksiyonu ile okunuyorsa gerçek url yi bulamazsınız.
  • 18-09-2009, 05:45:18
    #5
    curl ile CURLOPT_FOLLOWLOCATION seçeneğini 0 yapıp, sayfanın header bilgilerini de alırsanız,

    preg_match('/Location: (.*?)'."\n/s",$sayfa_kaynagi,$sonuc_dizisi);

    şeklinde alabilrisiniz
  • 18-09-2009, 06:31:27
    #6
    bu kodda işini görür ;
    $baslik = get_headers("http://www.domain.com/filedownload.php?id=12323", 1);
    echo "$baslik['Location']";
  • 18-09-2009, 13:26:34
    #7
    Üyeliği durduruldu
    çok teşekkürler arkadaşlar deneyeceim hepsini.
  • 18-09-2009, 23:23:32
    #8
    Üyeliği durduruldu
    LaXoR adlı üyeden alıntı: mesajı görüntüle
    bu kodda işini görür ;
    $baslik = get_headers("http://www.domain.com/filedownload.php?id=12323", 1);
    echo "$baslik['Location']";
    Array ( [0] => HTTP/1.1 200 OK [Date] => Fri, 18 Sep 2009 20:21:46 GMT [Server] => Microsoft-IIS/6.0 [X-Powered-By] => Array ( [0] => ASP.NET [1] => PleskWin ) [Content-Length] => 14874 [Content-Type] => text/html [Set-Cookie] => ASPSESSIONIDAQDDDDAQ=HLIJLCHBDMLINHDHJLEPCPFI; path=/ [Cache-control] => private )
    Location yok
    200 OK dediği için mi? yönlendirme olması için 302 moved. yok.
  • 19-09-2009, 18:02:31
    #9
    Üyeliği durduruldu
    sorunu hallettim teşekkürler...