POST yerine GET gönderme kıvırmak

4 Cevap php

Aslında, ben kıvırmak suçlu bile emin değilim o kadar dağınık kazanılmış. Yani, burada php bulunuyor:

$creds = array(
    'pw' => "xxxx",
    'login' => "user"
    );

$login_url = "https://www.example.net/login-form"; //action value in real form.
$loginpage = curl_init();

curl_setopt($loginpage, CURLOPT_HEADER, 1);
curl_setopt($loginpage, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($loginpage, CURLOPT_URL, $login_url);
curl_setopt($loginpage, CURLOPT_POST, 1);
curl_setopt($loginpage, CURLOPT_POSTFIELDS, $creds);

$response = curl_exec($loginpage);
echo $response;

Ben "Kötü iletişim tip" etkisi bir hata var giriş sayfasından takip (normal, başarılı istek başlıklarını maç) başlıklarını, (ben kıvırmak bir yönlendirme nedeniyle bu yakalanan tahmin ediyorum) olsun.

Ben sorunun istekte bulunan sunucu konak set değil, uzak sunucu olduğunu düşündüm, ama sonra istek, POST değil GET olarak gönderilir olduğunu, (Firebug) fark ettim.

Ben giriş sitenin formunu kopyalayabilir varsa, değerleri ile sadece form elemanları onu aşağı şerit ve eylem için tam URL koymak, sadece harika çalışıyor. Yani bu (ben bile boş gizli değerler ve diğer çerezlerin bazı belirledi hangi JS tüm kurtulmak) Oturum açma isteği aynı sunucuda, vb köken olan bir güvenlik sorunu değildir düşünürdüm.

Sonra tekrar, ben oldukça hızlı karıştı.

Herhangi bir fikir neden GET olarak gösteriyor, ya da neden bu konuda çalışma değil mi?

4 Cevap

PHP-cURL ile ilgili sorunların tüm sınıf giderirken, sadece CURLOPT_VERBOSE açmak ve CURLOPT_STDERR bir dosya tanıtıcı vermek zorunda.

tail -f dosyanızı, başlıkları ve kundakçı görmek olanlar yanıtı karşılaştırmak ve sorun netleşecektir.

Istek sunucudan yapılır ve Firebug görünmeyecektir. (Muhtemelen tarayıcınız tarafından başka isteği ile karıştırılmamalıdır). wireshark gerçekten ne olduğunu öğrenmek için kullanın. Sen ayar değildir {[(1)];} yönlendirmeleri takip olmamalıdır.

Özetlersek: az Guess, daha yayınlayacağız. Bir pcap dökümü Link, ve biz size yanlış yaptığınızı tam olarak ne söylemek mümkün olacak; veya php script kesin çıkış gönderebilir, ve biz olabilir.

Gösterilen kodu büyük olasılıkla hedef sunucu beklediği olmayan bir çok parçalı formpost (Eğer postFields seçeneği bir karma dizi geçmek beri) yapar.

sonunda bir print_r(curl_getinfo($loginpage)) atarak deneyin, geri olarak gönderilen hangi başlık verileri görmek.

Ayrıca, eğer senin sahte çalışıyor ki kendi sitesinden, sizin günlük sizin onlar bunu gönderdi sitesinde vardı "düşünüyorum" böylece, Senin yazı ile doğru yönlendirme göndermeden emin olmak istiyorum olacak.