folder Tahribat.com Forumları
linefolder Asp - Php - Cgi - Perl
linefolder Dinamik Textbox İsmi Ve Curl İle Post Atmak {Ödüllü}



Dinamik Textbox İsmi Ve Curl İle Post Atmak {Ödüllü}

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    DarkF4Te
    DarkF4Te's avatar
    Kayıt Tarihi: 02/Mart/2008
    Erkek

    Merhaba arkadaşlar;
    Konu başlığı biraz ilginç olmuştur eminim, durumu açıklamakla başlıyayım işe.

    PHP Kodu:
    [i]if(!empty($_POST["isim"])){[/i]
    [
    i] echo $_POST["isim"];[/i]
    [
    i]}else{[/i]
    [
    i]echo '<form action="index.php" method="post">[/i]
    [i]<input type="textbox" name="isim">[/i]
    [i]</form>'
    ;[/i]
    [
    i]}[/i]
    [
    i] [/i]
    [
    i][/i
    Şimdi bir html formda sayfa post atarken
    formun inputlarına isim verip post edilen dosyada da bu isimlere göre girilen değerleri alıp işlemler yaparız.

    Benim karşılaştığım durum ise şöyle.
    Bir form var sayfa yenilendiğinde içindeki 3 texboxın name değerleri değişiyor.(Buraya kadar herşey normal ne var bunda niye okuyorum demişsinizdir eminim.Az daha sabır edin)Değişiyor ama bu rastgele üretilmiyor.Eğer rastgele olsa ve tekrar üretilemezse formun post edildiği dosyada texboxın name değeri tahmın edilemz ve texboxın içine girilen değer alınamaz hatalı bir iş olur değil mi ?

    PHP Kodu:
    if(!empty($_POST["isim"])){
     echo 
    $_POST["isim+{?????}"];
    }else{
    echo 
    '<form action="index.php" method="post">
    <input type="textbox" name="isim+{Degisken deger}">
    </form>'
    ;

    Ee bence evet.

    Ama bu vereceğim adreste bir şekilde bu tahmın edilip işlem yapılıyor.
    Belki basit birşey yada büyüttüğüm kadar değil ama işin içinden çıkamadım.
    Javascriptte olduğunu düşünüyorum işin sırrının artık ama önsezim sadece.

    Benim için bunun önemi de var eğer çözümü bulurken bana yardım ederseniz.Size acizane bir ödülüm olarak bir aylık rapid premium armağan etmeyi düşünüyorum.

    Sayfanın Aslı:http://pos.freenet.de/freenetKomplet...ing&source=pop

    Türkçe Çevirisi

    Buda benim şuana kadar geldiğim nokta bu hidden inputlar sayfanın değerini belirtiyor ve bence verilerin sayfanın secılısınden baska onemı yok ben cok önemli olmadıgına kanaat ettim ama belkıde can alıcı noktalar bunlardır.

    Vakit ayırcan her arkadaşa teşekkür ederim.

    PHP Kodu:
    <?
    function curl(){
     
    $url   'http://pos.freenet.de/freenetKomplettProduktCheck/app';
     
    $post  'formids=HasNextError,HasNextError_0,VorwahlField,RufnummerField,HasNextError_1,HasNextError_2,PlzField,StadtField,HasNextError_3,HasNextError_4,StrasseField,HausnrField';
     
    $post .= '&component=$Form';
     
    $post .= '&page=VertriebsCheck';
     
    $post .= '&service=direct';
     
    $post .= '&state:VertriebsCheck';
     
    $post .= '&ZH4sIAAAAAAAAAFVRPW8UMRCdy3GgQEI+kJBolxZt+tDloDhpFaKcRJHG8q3nbs3uehx7lsuBkr/Bn+AX0NHwb+hSUWFnzYl1Ne/5vZnx8/ffMFm/BIARwIE2S3KtZE3mDKXxDk4V5kuHaJBzSz6vqbUNcgCOVFdzWWFZ54sozmdD9/uf3378+XVPO/DqCvaFIoPv5sU0Gq7gQOi2RaUlY2IOhcOVpo/k1rJq5sgz2A2U7xqWXIRaOpRTUshwXHySn+VJI83qZM5Om9XbAp6KhTRqrRVXDC/+U8wM4wpdL2lkWTfa8zXcwU4Bz0QpffXBxp2HrjOiJjwiuCai1LyJhlEBzwXe2LCV7z2RHcfGS+08n8sWk+5QpNSmnWdq0aWBe6KizuN51y56bhSf1siBeSxsmco9YasQ3ED/SFitUv24Ty11PwroukPPF9KFdry17MckLRmPMcGkfiI8da78NzVADjtzgkeCK+1U6MSby4dvSLaJ4I3F7S5ftH2obyz0xw4Ow+uvWT8nO80s2exNFv0BtNLVyOH3stsgG4e7KN/d0vYvlMuCY5wCAAA=';
     
    $post .= '&reservedids=state:VertriebsCheck';
     
    $post .= '&submitmode=';
     
    $post .= '&submitname=';
     
    $post .= '&HasNextError=F';
     
    $post .= '&HasNextError_0=F';
     
    $post .= '&HasNextError_1=F';
     
    $post .= '&HasNextError_2=F';
     
    $post .= '&HasNextError_3=F';
     
    $post .= '&HasNextError_4=F';
     
    $post .= '&VorwahlField=1231';//alan kodu
     
    $post .= '&RufnummerField=1123';//numarası
     
    $post .= '&;//sokakno
     $post .= '
    &;//posta kodu
     
    $post .= '&';//şehir
     
    $post .= '&';//sokak
     
    $post .= '&';//no
     
    echo $post;
     
    $ch   curl_init();
     
    curl_setopt($chCURLOPT_URL,$url); 
     
    curl_setopt($chCURLOPT_POST1);
     
    curl_setopt($chCURLOPT_POSTFIELDS$post);
     
    curl_setopt($chCURLOPT_RETURNTRANSFER1);
     
    $gelen curl_exec($ch);
     
    curl_close ($ch); 
     return 
    $gelen;
    }
    echo 
    curl();
    ?>
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    DarkF4Te
    DarkF4Te's avatar
    Kayıt Tarihi: 02/Mart/2008
    Erkek

    "Kaynak kodlarda name="Postleitzahl diye aratırsanız değişken 4 texboxtan bir tanesinin değerini bulabilirsiniz"

    bunuda eklemek te fayda var, yazıyı direk burda hazırladım tkerar okuyunca anlam hataları buldum lütfen takılmayalım çok (:

  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    NmC
    NmC's avatar
    Kayıt Tarihi: 23/Kasım/2008
    Erkek

    hocam o session olmasın?

    for example;

    $_SESSION["textboxname"] = "text".rand(1,30);

    echo '<textarea name='.$_SESSION["textboxname"].'></textarea>

    öbür formun işlendiği sayfada da istediği mıncıklar bundan sonra. Nasıl olsa session değeri elinde..

     


    There are 10 types of people in the world. Those who knows binary and those who dont...
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    DarkF4Te
    DarkF4Te's avatar
    Kayıt Tarihi: 02/Mart/2008
    Erkek

    evet hocam iyi hatırlattın onuda acıklayacaktım sessionda olsa phpsesid die bir cookie atmak zorunda sisteme ki serverdaki session dosyası kimin ayırd edebilsin diye.

    basitinden firefoxta acıp cookilere bakarsak malesef ki hiçbir cookie oluşturmuyor.

    Gerçi bu tür birşey yapmanın en basit mantığı bu olsa gerek.
    Birilerini kıl etmek gerektiğinde akılda tutumalıyım bunu : D

     İlgilendiğin için teşekkürler zoktrip :)

     

    Sorgulama yapmanız için sonuc dondurecek bir bilgide vereyim
    Vorwahl / Rufnr.:  07121                     71168
    PLZ / Ort:                72793                     Pfullingen
    Straße / Hausnr.:  Zeppelinstr.          42
     

     

  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    NmC
    NmC's avatar
    Kayıt Tarihi: 23/Kasım/2008
    Erkek
    DarkF4Te bunu yazdı:
    -----------------------------

    evet hocam iyi hatırlattın onuda acıklayacaktım sessionda olsa phpsesid die bir cookie atmak zorunda sisteme ki serverdaki session dosyası kimin ayırd edebilsin diye.

    basitinden firefoxta acıp cookilere bakarsak malesef ki hiçbir cookie oluşturmuyor.

    Gerçi bu tür birşey yapmanın en basit mantığı bu olsa gerek.
    Birilerini kıl etmek gerektiğinde akılda tutumalıyım bunu : D

     İlgilendiğin için teşekkürler zoktrip :)

     

    Sorgulama yapmanız için sonuc dondurecek bir bilgide vereyim
    Vorwahl / Rufnr.:  07121                     71168
    PLZ / Ort:                72793                     Pfullingen
    Straße / Hausnr.:  Zeppelinstr.          42
     

     -----------------------------

    Hocam curl çalıştırırken bi header kısmını aç bak bakim set cookie falan var mı? Session kuki atamazsa en kötü ihtimal sid ile urlden çalışıyor diye biliyorum..

    Edit: Ya hocam bu kadar atraksyona gerek yok aslında, önce form sayfasını al curl ile.. explode ederek textarea'nın ismini okut, ondan sonra da diğer formu ona göre post et..


    There are 10 types of people in the world. Those who knows binary and those who dont...
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    DarkF4Te
    DarkF4Te's avatar
    Kayıt Tarihi: 02/Mart/2008
    Erkek

    hocam her çağırıldığında değişmese dediğin yöntem ilk tutunacağım dal olacak ama.. :(

    Diğerini sabah deniycem yarın sabah 2 sınavım var : (
    Umarım o şekilde bir çözüm bulabilirm.

  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    NmC
    NmC's avatar
    Kayıt Tarihi: 23/Kasım/2008
    Erkek

    DarkF4Te bunu yazdı:
    -----------------------------

    hocam her çağırıldığında değişmese dediğin yöntem ilk tutunacağım dal olacak ama.. :(

    Diğerini sabah deniycem yarın sabah 2 sınavım var : (
    Umarım o şekilde bir çözüm bulabilirm.


    -----------------------------

    İyi de hocam, bu dediğim zaten senin formu doldurmandan farklı birşey değil ki =)

    İlk seferde form önüne gelmiş olacak, ardından da formu yollucan o kadar ;)

    Ha bi de aklında bulunsun, refferer url yi de kontrol ediyo olabilir, curl'u çalıştırırken ona da dikkat et ;)


    There are 10 types of people in the world. Those who knows binary and those who dont...
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Arlong
    Arlong's avatar
    Kayıt Tarihi: 14/Şubat/2005
    Erkek
    session olunca tarayıcıya phpsessid diye bişey atıyo demişsin ama oyle bişry olmuyo diye biliyorum ben server sadece kendi tarafında tutuyo diye biliyorum (yanlış olabilir)
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    DarkF4Te
    DarkF4Te's avatar
    Kayıt Tarihi: 02/Mart/2008
    Erkek

    Arlong phpde session_start(); dediğinde cookie oluşturuyor resimdeki de aşağıdaki kodla oluştu diğer diller konusunda kesin bilgim yok benimde ama muhtemelen onlarda aynıdır diye düşünüyorum.


     session_start();
    $_SESSION["tahribat"] == ".kom";
    ?>

     ----------------------------------

    Zoktrip şöyle bir durum var.Name her yenilendiğinde sayfa değişiyor yani ben bir curl acıp inputların name değerlerini alabılırım daha sonrada post edecegım curl oturumunu başlatırken bu bilgileri kullanarak yapabilirim ama, yeni curl oturumu başlandığında 2. sayfa zaten farklı değer oluşturuyor.

    Referer bilgisi ile alakalı olduguğunu düşünmedim fakat yinede denedim sonuç aynıydı : (

    Bulucaz arkadaşlar ha gayret :(

    -----------------------------------

    ayrıca zoktrip başka bir forumda senin anlattığını koda dokmüş arkadaşım ama durum dediğim gibi öylede denedim :/

    ama sonuç aynı

    microtime ile falan zaman degeri üretiyor olabilir. çok başarılı bir post koruması olmuış düşünen arkadağı takdir ettim
    şu kodlada değeri alabilrsiniz

    PHP Kodu:
    $data file_get_contents("http://pos.freenet.de/freenetKomplettProduktCheck/app?type=marketing&source=pop");
    preg_match_all('#< id="Postleitzahl.?" maxlength="5" #is',$data,$bulunan);
    echo 
    $bulunan[1][0]; 

    burda da belirttiği gibi microtime ile yapılması muhtemel hatta aklıma gelen ilk fikirdi ama o zamanda aynı değerlerin tutması gerçekten imkansız.Çünkü sayfanın başıyla sonunda oluşturulan microtime değeri bile aynı olmuyor.

     

  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    NmC
    NmC's avatar
    Kayıt Tarihi: 23/Kasım/2008
    Erkek

    Arlong bunu yazdı:
    -----------------------------
    session olunca tarayıcıya phpsessid diye bişey atıyo demişsin ama oyle bişry olmuyo diye biliyorum ben server sadece kendi tarafında tutuyo diye biliyorum (yanlış olabilir)
    -----------------------------

    Hocam Cookie alımını tamamen engelle bakim noluo :D Adres çubuğunda koccaman bi tene PHPSID ve yanında uzunca bi degisken gormezsen ben de bisi bilmiorum :)

    Sonuçta bilgiler server tarafında ama senin Sen olduğunu anlaması için sana da bi anahtar bırakması lazım.. Değişkenler sende tutulmuyo, onlar serverda ama dediğim gibi sana bi kimlik verio, onu senin bilgisayarda tutuo o session boyunca...

    DarkF4Te eğer dediğin gibiyse işin içinde session da var. Curl un cookie jat ile alakalı bi parametresi vardı onu bi araştır. Normalde client a gelen session cookie vs'yi bi tane txt dosyasına atıp sonra cookie jar ile alıosun onunla geçiosun ikinci sayfaya.

    Session olmasaydı dün söylediğim şekilde çalışması lazımdı. Çünkü sonuçta sen sayfayı çekerken bi random değer oluşturtuosun sonra onunla diğer sayfaya geçiosun, curl un yaptığı işlem de aynı..

     Neyse benim derse gitmem lazım, kolay gele....


    There are 10 types of people in the world. Those who knows binary and those who dont...
  11. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Arlong
    Arlong's avatar
    Kayıt Tarihi: 14/Şubat/2005
    Erkek
    oke tşk ederim arkadaşlar
Toplam Hit: 3050 Toplam Mesaj: 12