• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Dlaczego cURL nie działa?

Object Storage Arubacloud
0 głosów
1,133 wizyt
pytanie zadane 11 października 2015 w PHP przez Michał Oreziak Nowicjusz (200 p.)

Witam,

otóż problem mam taki, że chciałbym zalogować się za pomocą cURLa do poczty WP i nie działa mi cURL, bo dostaję pustą stronę. Ale gdy wysyłam te dane do drugiego, swojego przygotowanego pliku to działa.

Oto kod:

<?
$login = $_POST['login_username'];
$pass = $_POST['login_password'];


 $link=curl_init('http://www.profil.wp.pl/login_poczta.html');
 curl_setopt($link, CURLOPT_POSTFIELDS, "login='$login'&haslo='$pass");
 curl_setopt($link, CURLOPT_HEADER, 1);
 curl_setopt($link, CURLOPT_RETURNTRANSFER, 1);
 $strona=curl_exec($link);
 curl_close($link);

}
?>

Co robię źle?

Z góry dziękuję za pomoc.

1 odpowiedź

+1 głos
odpowiedź 11 października 2015 przez furas Maniak (53,800 p.)
Najpierw trzeba dobrze przeanalizować ruch między przeglądarką a serwerem bo tam się może dziać więcej rzeczy niż Ci się wydaje. Przede wszystkim serwer może sprawdzać nagłowki takie jak "User-Agent". Do tego w formularzu do logowania mogą być ukryte pola z losowo generowanymi wartościami, które też trzeba odesłać. Mogą być też pola dla zmyłki, który jedynie "głupi" skrypt wypełni danymi. Serwer też może oczekiwać, że obsługi ciasteczek i numeru sesji nadanego Ci podczas wejścia na stronę (czyli trzeba najpierw pobrać stronę - GET - a dopiero potem wysyłac formularz - POST). itd.

Serwer może mieć też inne zabezpieczenia przed botami i skryptami.
komentarz 11 października 2015 przez efiku Szeryf (75,160 p.)
Stosowanie tych tagów jest już błędem samym w sobie. Nie jestem pewien, ale chyba w php7 zostało to usunięte. Są one jeszcze z czasów gdy PHP był robiony w stylu: najpierw robimy, potem myślimy.

Dla pytającego: Należy w swoich kodach stosować tag otwierający <?php

Ja polecam obadać https://github.com/guzzle/guzzle
komentarz 12 października 2015 przez Michał Oreziak Nowicjusz (200 p.)
Ok, ale nawet jeśli wysyłam złe dane to powinna pokazać mi się strona WP, a się nie pokazuje.
komentarz 12 października 2015 przez furas Maniak (53,800 p.)

A dlaczego miała by Ci się pokazać ? Nie widzę abyś robił 

echo $strona;

 

komentarz 12 października 2015 przez Michał Oreziak Nowicjusz (200 p.)
<?php

if(isset($_POST['login_username'])){
$login = $_POST['login_username'];
$pass = $_POST['login_password'];


 $link=curl_init('http://www.profil.wp.pl/login_poczta.html');
 curl_setopt($link, CURLOPT_POSTFIELDS, "login_username=$login&login_password=$pass");
 curl_setopt($link, CURLOPT_HEADER, 1);
 curl_setopt($link, CURLOPT_RETURNTRANSFER, 1);
 $strona=curl_exec($link);
echo $strona;
 curl_close($link);
?>

To jest update mojego kodu, sle nadal nic nie działa.

komentarz 12 października 2015 przez furas Maniak (53,800 p.)
Sformatuj poprawnie kod (czyli porób wcięcia) a zobaczysz, że po `if` otwierasz klamerkę { ale nigdzie jej nie zamykasz. Masz więc błąd składni.

Jednym z najprostrzych (najprymitywniejszych) sposobów walki z problemami bywa nawstawianie `echo` z czytelnymi komunikatami np. "przed if" ; "wewnątrz if" ; "link:", var_damp($link) ; itd. Wtedy widać która część się wykonuje a która nie i jakie wartości przyjmują zmienne. Na tej podstawie łatwiej dojść do powodu problemu.

W pliku php.ini można też określić czy w razie błędu ma wyświetlać coś na ekranie czy lepiej to ukryć aby hakerzy z tego nie skorzystali.

PHP i Apache zapisują w plikach ".log" informacje o przebiegu działania programu i tam też można się coś dowiedzieć w razie problemu.

Podobne pytania

0 głosów
1 odpowiedź 596 wizyt
0 głosów
1 odpowiedź 430 wizyt
pytanie zadane 16 września 2020 w PHP przez itcloud Gaduła (3,380 p.)
0 głosów
0 odpowiedzi 179 wizyt
pytanie zadane 30 listopada 2019 w PHP przez Eliro Stary wyjadacz (12,160 p.)

92,536 zapytań

141,377 odpowiedzi

319,455 komentarzy

61,922 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...