Duyuruyu Kapat
Facebook Gözat
Twitter Gözat

adres sifrelemenin mantigini anlatan bir site biliyormusunuz

Konu, 'PHP' kısmında sokrates tarafından paylaşıldı.

  1. sokrates

    sokrates Daimi Üye

    Kayıt:
    8 Temmuz 2002
    Mesajlar:
    537
    Beğenilen Mesajlar:
    0
    Meslek:
    Web Programmer
    Şehir:
    istanbul
    adres sifrelemenin mantigini anlatan bir site biliyomusunuz
     
  2. redial

    redial Misafir

    Ustadim,

    bir parca acabilir misin?
     
  3. sokrates

    sokrates Daimi Üye

    Kayıt:
    8 Temmuz 2002
    Mesajlar:
    537
    Beğenilen Mesajlar:
    0
    Meslek:
    Web Programmer
    Şehir:
    istanbul
    redial ustat oncelikle benide ustat kategorisine soktugun icin tesekur ederim :)
    sayfa adlari url satirinda gozuksun istemiyorum onun yerine domain.php?go=01 gibi
     
  4. mkarabulut

    mkarabulut Misafir

    Zihni biraz şifreli konuşuyor ,sanırım programa konsantre olmuş durumda :)

    Ben biraz anlar gibi oldum ama emin değilim,mesela istediğin şöyle bi şey mi ?
    Bi yerlerde - mesela veritabanında adresler var- .
    Sen bunları bi şekilde listeliyorsun.
    Ziyaretçiler tıklayıp gidiyorlar.
    Bir yönlendirme sayfan var.
    O sayfa şöyle çalışıyor : redirect.php?s=http://www.ceviz.net

    Sen ise adres satırında adresin kendisi görünmesin istiyorsun ?

    Doğru mu ?
     
  5. sokrates

    sokrates Daimi Üye

    Kayıt:
    8 Temmuz 2002
    Mesajlar:
    537
    Beğenilen Mesajlar:
    0
    Meslek:
    Web Programmer
    Şehir:
    istanbul
    /
    degil ustadim:)

    bir yerde gormusttum simdi site yok olmus
    mesela her sayfada switch gibi bir sey vardi veya if donguleri
    if(go==1) git=sayfa1.php
    bole bole giden bir seydi tam hatilamiyorum
    adres sifreleme diye biliyodum ben bunun adini onun icin kisaca yaziyim dedim ama neler neler cikti
     
  6. HunTER

    HunTER ...

    Kayıt:
    15 Ağustos 2002
    Mesajlar:
    8,684
    Beğenilen Mesajlar:
    0
    Meslek:
    Web Programlama
    Şehir:
    İstanbul
    Sole yapsan olurmu acaba ?

    bır dızı degıskenı olustur:

    $page = array("haber.php","ilan.php","tartisma.php",...) gıbı

    daha sonra adres satırında bır $go degıskenı ıle nereye gıdılecegını belırle..

    http://host/index?go=1 ıcın;

    PHP:
    //PHP içinden
    include ($page[$go]); yada
    header("Location:".$page[$go]);

    //HTML ıcınden
    <meta http-equiv="Refresh" content="0;url=<?echo $page[$go]?>">
    hallerınden bırını kullanabılırsın.. Istedıgın boyle bıseymı?
     
    Son düzenleme yönetici tarafından yapıldı: 24 Ekim 2002
  7. redial

    redial Misafir

    Ne demek ustadim;
    Asil ben tesekkur ederim alcakgonullulugunuz icin...

    Konuya gelelim,
    bildigim bir adres yok, ama izin verirseniz basitce ozetleyeyim...

    Bu istediginiz seyi yapmanin birden cok yolu olabilir...


    Diyelimki biz bir download sitesi yapiyoruz, ve amacimiz sizin istediginiz sekilde urlleri saklamak...

    Hemen veritabanimiza daliyoruz ve

    Download adinda bir tabo aciyoruz,
    dosyaid-----adi---------------aciklama-------indirme_say
    0000001.....pent_son_mp3.zip..Pentegrami.........246
    0000002.....samba-4.2.2.......Sambanin son.......124
    0000003.....readme.txt........benioku............555

    Dedigimizi var sayiyoruz...

    Sonra basliyoruz sayfamizi yapmaya...
    Simdi elimizdeki dosyalari link seklinde sunalim...
    goster.php
    PHP:
    <?
    //once elimizdekileri kullaniciya gosterelim
    print "Dosya Adi,              Aciklamasi       İndirilme sayisi";
    $sorgu sql_query("SELECT * FROM download");
    while (
    $dosyalarsql_fetch_array($sorgu) ) {
    $id=$dosyalar['dosyaid'];
    $adi =$dosyalar['adi'];
    $aciklama=$dosyalar['aciklama'];
    $indir_say=$dosyalar['indirme_say'];
    print 
    "<a href= download.php?hangi=$id>$adi</a>         $aciklama       $indirsay<br>";
    }

    ?>
    evet, simdi ziyaretcimiz ekranda dosya adi ayni zamanda link olcak sekilde vertabanizmidaki dosyalari goruyor olmali...

    Sizinde anladiginiz uzere bize birde download.php lazim, ve zaten zurnanin zirt dedigi yer de burasi...

    download.php
    PHP:
    <?
    $downloadlar="http://sitemiz.com/biz/burayi/saklamak/icin/neler/cekiyoruz/";
    $istenen sql_query("SELECT adi FROM download WHERE dosyaid=$hangi");

    header("Location:h_t_t_p_:_/_/$downloadlar/$istenen");
    ?>
    Gibi mesela,
    hatalar olabilir, ayrica ne oldugu anlasilsin diye, gereginden uzun oldu biraz...

    Sanirim isini gorur
     
    Son düzenleme yönetici tarafından yapıldı: 24 Ekim 2002
  8. redial

    redial Misafir

    Haydaaaa, gene biz yazana kadar mevzu almis yurumus, bu arada ben gene yanlis anlamisim...

    Ama neyse,

    senin sorun daha basit, ve yukaridaki ucube bu konuda da isini gorur...
     
  9. sokrates

    sokrates Daimi Üye

    Kayıt:
    8 Temmuz 2002
    Mesajlar:
    537
    Beğenilen Mesajlar:
    0
    Meslek:
    Web Programmer
    Şehir:
    istanbul
    tesekur ederim ustatlar
    iki dakkada sindeyeyim ben bu kodlari:)
     
  10. LoS.ToF

    LoS.ToF Daimi Üye

    Kayıt:
    11 Ağustos 2002
    Mesajlar:
    1,088
    Beğenilen Mesajlar:
    0
    Meslek:
    PHP Developer
    Şehir:
    Antalya
    istersen sayfana bi frame at 0 olsun üste olan açıklığı ? bölece sadece sitenin adı gözükür ne dersin ?
     
  11. sokrates

    sokrates Daimi Üye

    Kayıt:
    8 Temmuz 2002
    Mesajlar:
    537
    Beğenilen Mesajlar:
    0
    Meslek:
    Web Programmer
    Şehir:
    istanbul
    aslinda amacım şifrelemeyi öğrenmek
    ama iki dakkada sindiremedim yaw ben suraya bıraz kod yazsam beraber yapsak :)


    PHP:

    $page 
    = array("destek.php","../download.php","../club.php");
    desek 
    sonra neler yapmaliyim

    <select name="support" 
    onChange="javascript:window.location.href(options[selectedIndex].value)" class=jumpmenu>
                  <
    option value="" selected>Lütfen Seçiniz...</option>
                  <
    option value="destek.php">Destek</option>
                  <
    option value="../download.php">Download</option>
                  <
    option value="../club.php"Club</option>
                </
    select>


     
  12. redial

    redial Misafir

    iyi de senin yaptigin gibi olunca, sag tiklama kadar yakin ki cozum?

    Simdi bak,


    PHP:
    if ($support)  {
     if (
    $support=1) {
      
    //Destek sayfasina yonlendir
        
    }
     if (
    support==2) {
      
    //Download Sayfasina yonlendir
        
    }
     if (
    support==3) {
      
    //Club sayfasina yonlendir
        
    }
    }


    Print 
    "<form action=$PHP_SELF method=post>";
    print 
    "<select name=support>";
    print 
    "<option value=x Selected>Lutfen Seciniz</option>";
    print 
    "<option value=1>Destek</option>";
    print 
    "<option value=2>Download</option>";
    print 
    "<option value=3>Clup</option>";
    print 
    "</select>";

    ?>

    Bu durumda, kullanici sag tiklasa bile, en fazla 1 2 3 degerlerini gorecektir...
     
    Son düzenleme yönetici tarafından yapıldı: 24 Ekim 2002
  13. sokrates

    sokrates Daimi Üye

    Kayıt:
    8 Temmuz 2002
    Mesajlar:
    537
    Beğenilen Mesajlar:
    0
    Meslek:
    Web Programmer
    Şehir:
    istanbul
    ama form gondermiyomki ustat ben, yani support degiskeni bos donuyo devamli
     
  14. ee++

    ee++ Daimi Üye

    Kayıt:
    25 Temmuz 2002
    Mesajlar:
    1,122
    Beğenilen Mesajlar:
    0
    Şehir:
    Ankara
    @nietzsche, dizilerle calisma konusunda eksigin oldunugunu seziyorum. Bunu gidersen iyi olur.

    (Not: Tamamen iyi niyetle yazilmistir, kesinlikle yanlis anlasilmamalidir.)
     
  15. turker

    turker Agresif Üye

    Kayıt:
    19 Temmuz 2002
    Mesajlar:
    5,988
    Beğenilen Mesajlar:
    0
    iki adet sayfamız olsun
    a.php ve b.php ve biz index.php'den adres şifreleyerek bunlara switch ile ulaşacağız.

    index.php içeriği;
    PHP:
    <?php
    switch ($git) {
    case 
    "01"; include("a.php");break;
    case 
    "02"; include("b.php");break;
    default: 
    echo 
    "index.php içeriği görüntüleniyor.
    <a href=\"index.php?git=01\">a.php</a><br>
    <a href=\"index.php?git=02\">b.php</a>"
    ;

     
    ?>
     
  16. Sahin

    Sahin Daimi Üye

    Kayıt:
    28 Mayıs 2002
    Mesajlar:
    8,943
    Beğenilen Mesajlar:
    0
    Aslında bu konuda cevap yazan arkadaşların hepsinin kodları işe yarar ama şurdada Mustafa ile ben bu konuda birşeyler yazmıştık.

    http://forum.ceviz.net/showthread.php?threadid=792&highlight=include

    Çalışan çrneğini görmek içinde şuraya tıkla.

    Yok yok buraya :D

    Not: Sadece include ettiğin sayfa ismi görünür.

    Not2: Sayfaları include etmelisin.

    Not3: Sağ tıkla sol kroşe falan hiç bir şekilde dosya ismleri görünmez :p
     
  17. redial

    redial Misafir

    Form neden yollaymiyorsun?
    Sorun mu va, yoksa, yaptigin is geregi mi?
     
  18. HunTER

    HunTER ...

    Kayıt:
    15 Ağustos 2002
    Mesajlar:
    8,684
    Beğenilen Mesajlar:
    0
    Meslek:
    Web Programlama
    Şehir:
    İstanbul
    Bıraz zahmetlı ve sacma olur sanırım ama aklıma soyle bısey geldı.. ornegın elımızde soyle bır satır var

    ...?gopage=userprofile&userid=1&username=root&userpass=hunter

    bız bu satırı once sıfrelesek ve satırı suna cevırsek (mesela)

    ?url=12kasd7jhjas987d26eek098

    daha sonra gelen bu satırı yanı url degıskenını desıfre etsek ve olusan strıngı duzenlıyerek eval() ıcınden gecırsek nasıl olur? Sunun gıbı:

    eval($gopage="userprofile";$userid="1";$username="root";$userpass="hunter";
    )

    Ne dersınız?
     
  19. HunTER

    HunTER ...

    Kayıt:
    15 Ağustos 2002
    Mesajlar:
    8,684
    Beğenilen Mesajlar:
    0
    Meslek:
    Web Programlama
    Şehir:
    İstanbul
    Komık ama olabılırlıgını test etmek ıcın sunları yazdım ve denedım.. Calısıyor :)

    PHP:
    <?

     
    //Url stringını ters cevırıp & ve = 'lerı kaldırıyoruz
     
    function sifrele($str)
            {
            
    urlencode($str);

            for(
    $i=1$i<=strlen($str); $i++)
                {
                
    $url .= substr($str,-$i,1);
                }

            
    $url ereg_replace("=""."$url);
            
    $url ereg_replace("&"","$url);

            return 
    $url;
            }

     
    //Bır oncekı ıslemın tam tersını uyguluyoruz
     
    function cozumle($str)
            {
            
    $str ereg_replace("\.""="$str);
            
    $str ereg_replace(",""&"$str);

            for(
    $i=1$i<=strlen($str); $i++)
                {
                
    $url .= substr($str,-$i,1);
                }

            
    urldecode($url);

            return 
    $url;
            }

     
    //Url metnını eval fonksıyonunun ıcın cevırıyoruz
     
    function isle($str)
            {
            
    $str ereg_replace("=""=\""$str);
            
    $str ereg_replace("&""\";$"$str);
            
    $str "$".$str."\";";

            return 
    $str;
            }


     
    //Ve metnın son halını eval'den gecırıp ısletıyoruz
     
    @eval(isle(cozumle($url)));

     
    //Bı bakalım olmusmu
     
    echo "Gopage: ".$gopage." User: ".$user."<br><br>\r";


    ?>

    <a href="test.php?
    url=<?echo sifrele("gopage=Profile&user=Hunter");?>
    ">Şifrelenmiş Link</a>
    Eger benım yazdıgım komık sıfreleme/cozme mekanızması gelıstırılırse kullanılabılır bır yontem gıbı geldı bana
     
    Son düzenleme yönetici tarafından yapıldı: 25 Ekim 2002
  20. redial

    redial Misafir

    Nihhiiaaaaa...

    root sifresi url de geziyo,
    basimiza tas yagacak tas...

    dusuncesi bile korkunc...


    :aglama: :aglama: