Dinamik Textbox İsmi Ve Curl İle Post Atmak {Ödüllü}
-
Merhaba arkadaşlar;
Konu başlığı biraz ilginç olmuştur eminim, durumu açıklamakla başlıyayım işe.Şimdi bir html formda sayfa post atarkenPHP 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]
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 ?Ee bence evet.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>';
}
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($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$gelen = curl_exec($ch);
curl_close ($ch);
return $gelen;
}
echo curl();
?> -
"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 (:
-
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..
-
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 -
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..
-
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. -
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 ;)
-
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)
-
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 alabilrsinizPHP 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.
-
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....
-
oke tşk ederim arkadaşlar