Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Logowanie
Forum PHP.pl > Forum > Przedszkole
Manderigon
Witam.
Proszę o pomoc w znalezieniu błędu.

Index.php:
  1. <?php
  2.  
  3. $cookies = dirname(__FILE__) .'/cookievf67dvtsd76ft67rvdvf5be5b23bqnk.txt';
  4.  
  5. $curl_handle = curl_init('http://gsmx.co/login');
  6. curl_setopt($curl_handle, CURLOPT_HEADER, true);
  7. curl_setopt($curl_handle, CURLOPT_HTTPHEADER, array(
  8. 'Host: gsmx.co',
  9. 'Content-Length: 93',
  10. 'Cache-Control: max-age=0',
  11. 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
  12. 'Origin: <a href="http://gsmx.co'" target="_blank">http://gsmx.co'</a>,
  13. 'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36',
  14. 'Content-Type: application/x-www-form-urlencoded',
  15. 'Referer: <a href="http://gsmx.co/login'" target="_blank">http://gsmx.co/login'</a>,
  16. 'Accept-Language: pl-PL,pl;q=0.8,en-US;q=0.6,en;q=0.4'
  17. ));
  18. curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, true);
  19. curl_setopt($curl_handle, CURLOPT_COOKIEFILE, $cookies);
  20. curl_setopt($curl_handle, CURLOPT_COOKIEJAR, $cookies);
  21. $output = curl_exec($curl_handle);
  22.  
  23. $fp = fopen("cookievf67dvtsd76ft67rvdvf5be5b23bqnk.txt", "r");
  24. $tekst = fread($fp,10000);
  25. $rest = substr($tekst, -34); // sessionid
  26. $rest2 = trim($rest);
  27. fclose($fp);
  28.  
  29. echo $rest2;
  30.  
  31. $link = "http://gsmx.co";
  32. $post = 'login=testowe12&ampregister=0&password=testowe12&cookie_check=1&_xfToken=&redirect='.urlencode($link);
  33. echo $post;
  34.  
  35. $curl_handle2 = curl_init('http://gsmx.co/login');
  36. curl_setopt($curl_handle2, CURLOPT_COOKIESESSION, true);
  37. curl_setopt($curl_handle2, CURLOPT_COOKIEJAR, $cookies);
  38. curl_setopt($curl_handle2, CURLOPT_COOKIEFILE, $cookies);
  39. curl_setopt($curl_handle2, CURLOPT_RETURNTRANSFER, true);
  40. curl_setopt($curl_handle2, CURLOPT_HEADER, 1);
  41. curl_setopt($curl_handle2, CURLOPT_HTTPHEADER, array(
  42. 'Host: gsmx.co',
  43. 'Content-Length: 93',
  44. 'Cache-Control: max-age=0',
  45. 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
  46. 'Origin: <a href="http://gsmx.co'" target="_blank">http://gsmx.co'</a>,
  47. 'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36',
  48. 'Content-Type: application/x-www-form-urlencoded',
  49. 'Referer: <a href="http://gsmx.co/login'" target="_blank">http://gsmx.co/login'</a>,
  50. 'Accept-Language: pl-PL,pl;q=0.8,en-US;q=0.6,en;q=0.4'
  51. ));
  52. curl_setopt($curl_handle2, CURLOPT_FOLLOWLOCATION, 1);
  53. curl_setopt($curl_handle2, CURLOPT_POSTFIELDS, $post);
  54. $output = curl_exec($curl_handle2);
  55.  
  56. echo $output;
  57.  
  58. ?>



cookie:
Kod
#HttpOnly_gsmx.co    FALSE    /    FALSE    0    xf_session    4114b5f90e117e68e77eb33872ae76f6


Z tego co wywnioskowałem z kodu, sesja jest niepotrzebna przy logowaniu.
Pozdrawiam.
Pyton_000
A teraz jaki masz problem?
Manderigon
Przekierowuje mnie na stronę logowania.
johny_s
I dobrze pseudo hakierze skoro nawet nie potrafisz sprzwdzić na którą stronę ma kirować formularz
Manderigon
O, dzięki za niedopatrzenie. wink.gif

Wszystko działa PRAWIE elegancko, gdyby nie fakt, że identyfikator sesji jest nieaktualny. Co muszę zrobić, aby wczytać ten aktualny identyfikator?

  1. <?php
  2.  
  3. $cookies = dirname(__FILE__) .'/cookievf67dvtsd76ft67rvdvf5be5b23bqnk.txt';
  4. $link = "http://gsmx.co";
  5. $post = 'login=testowe12&ampregister=0&password=testowe12&cookie_check=1&_xfToken=&redirect='.urlencode($link);
  6.  
  7.  
  8. $curl_handle2 = curl_init('http://gsmx.co/logowanie/login');
  9. curl_setopt($curl_handle2, CURLOPT_COOKIESESSION, true);
  10. curl_setopt($curl_handle2, CURLOPT_COOKIEJAR, $cookies);
  11. curl_setopt($curl_handle2, CURLOPT_COOKIEFILE, $cookies);
  12. curl_setopt($curl_handle2, CURLOPT_RETURNTRANSFER, true);
  13. curl_setopt($curl_handle2, CURLOPT_HEADER, 1);
  14.  
  15. $fp = fopen("cookievf67dvtsd76ft67rvdvf5be5b23bqnk.txt", "r");
  16. $tekst = fread($fp,10000);
  17. $rest = substr($tekst, -34); // sessionid
  18. $rest2 = trim($rest);
  19. fclose($fp);
  20.  
  21. echo $rest2;
  22. echo '<br>';
  23. echo $post;
  24.  
  25. curl_setopt($curl_handle2, CURLOPT_HTTPHEADER, array(
  26. 'Host: gsmx.co',
  27. 'Content-Length: 93',
  28. 'Cache-Control: max-age=0',
  29. 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
  30. 'Origin: <a href="http://gsmx.co'" target="_blank">http://gsmx.co'</a>,
  31. 'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36',
  32. 'Content-Type: application/x-www-form-urlencoded',
  33. 'Referer: <a href="http://gsmx.co/login'" target="_blank">http://gsmx.co/login'</a>,
  34. 'Accept-Language: pl-PL,pl;q=0.8,en-US;q=0.6,en;q=0.4',
  35. 'Cookie: xf_session='.$rest2.'; GCSCU_770734409090_H2=C=770734409090.apps.googleusercontent.com:S=81bef9fa0c3fbd
    aac13c33f8b709fc73474d3562.kvhqgGncJscCDSvW.7dde:I=1403792615:X=1403879015'
    ));
  36. curl_setopt($curl_handle2, CURLOPT_FOLLOWLOCATION, 1);
  37. curl_setopt($curl_handle2, CURLOPT_POSTFIELDS, $post);
  38. $output2 = curl_exec($curl_handle2);
  39.  
  40. echo $output2;
  41.  
  42. ?>





Kolejna próba rozwiązania tego samego problemu:
  1. <?php
  2.  
  3. $cookies = dirname(__FILE__) .'/cookievf67dvtsd76ft67rvdvf5be5b23bqnk.txt';
  4. $link = "http://gsmx.co";
  5. $post = 'login=testowe12&ampregister=0&password=testowe12&cookie_check=1&_xfToken=&redirect='.urlencode($link);
  6.  
  7.  
  8.  
  9. $curl_handle = curl_init('http://gsmx.co/login');
  10. curl_setopt($curl_handle, CURLOPT_COOKIESESSION, true);
  11. curl_setopt($curl_handle, CURLOPT_COOKIEJAR, $cookies);
  12. curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, true);
  13. curl_setopt($curl_handle, CURLOPT_HEADER, 1);
  14. curl_setopt($curl_handle, CURLOPT_HTTPHEADER, array(
  15. 'Host: gsmx.co',
  16. 'Content-Length: 93',
  17. 'Cache-Control: max-age=0',
  18. 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
  19. 'Origin: <a href="http://gsmx.co'" target="_blank">http://gsmx.co'</a>,
  20. 'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36',
  21. 'Content-Type: application/x-www-form-urlencoded',
  22. 'Referer: <a href="http://gsmx.co/login'" target="_blank">http://gsmx.co/login'</a>,
  23. 'Accept-Language: pl-PL,pl;q=0.8,en-US;q=0.6,en;q=0.4'));
  24. curl_setopt($curl_handle, CURLOPT_FOLLOWLOCATION, 1);
  25. curl_setopt($curl_handle, CURLOPT_POSTFIELDS, $post);
  26. $output = curl_exec($curl_handle);
  27.  
  28.  
  29.  
  30. $fp = fopen("cookievf67dvtsd76ft67rvdvf5be5b23bqnk.txt", "r");
  31. $tekst = fread($fp,10000);
  32. $rest = substr($tekst, -34); // sessionid
  33. $rest2 = trim($rest);
  34. fclose($fp);
  35.  
  36.  
  37.  
  38.  
  39. $curl_handle2 = curl_init('http://gsmx.co/logowanie/login');
  40. curl_setopt($curl_handle2, CURLOPT_COOKIEFILE, $cookies);
  41. curl_setopt($curl_handle2, CURLOPT_RETURNTRANSFER, true);
  42. curl_setopt($curl_handle2, CURLOPT_HEADER, 1);
  43.  
  44.  
  45. echo $rest2;
  46.  
  47. curl_setopt($curl_handle2, CURLOPT_HTTPHEADER, array(
  48. 'Host: gsmx.co',
  49. 'Content-Length: 93',
  50. 'Cache-Control: max-age=0',
  51. 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
  52. 'Origin: <a href="http://gsmx.co'" target="_blank">http://gsmx.co'</a>,
  53. 'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36',
  54. 'Content-Type: application/x-www-form-urlencoded',
  55. 'Referer: <a href="http://gsmx.co/login'" target="_blank">http://gsmx.co/login'</a>,
  56. 'Accept-Language: pl-PL,pl;q=0.8,en-US;q=0.6,en;q=0.4',
  57. 'Cookie: xf_session='.$rest2.'; GCSCU_770734409090_H2=C=770734409090.apps.googleusercontent.com:S=81bef9fa0c3fbd
    aac13c33f8b709fc73474d3562.kvhqgGncJscCDSvW.7dde:I=1403792615:X=1403879015'
    ));
  58. curl_setopt($curl_handle2, CURLOPT_FOLLOWLOCATION, 1);
  59. curl_setopt($curl_handle2, CURLOPT_POSTFIELDS, $post);
  60. $output2 = curl_exec($curl_handle2);
  61.  
  62. echo $output2;
  63.  
  64. ?>



Odwiedzam stronę, tworzę nowy plik cookie i zapisuje w nim identyfikator sesji:
  1. curl_setopt($curl_handle, CURLOPT_COOKIESESSION, true);
  2. curl_setopt($curl_handle, CURLOPT_COOKIEJAR, $cookies);


Zapisuję identyfikator do zmiennej:
  1. $fp = fopen("cookievf67dvtsd76ft67rvdvf5be5b23bqnk.txt", "r");
  2. $tekst = fread($fp,10000);
  3. $rest = substr($tekst, -34); // sessionid
  4. $rest2 = trim($rest);
  5. fclose($fp);


Wysyłam dane POST'em, dorzucając identyfikator sesji:
  1. curl_setopt($curl_handle2, CURLOPT_COOKIEFILE, $cookies);



Co jest nie tak?

@refresh

_____________________

Wpadłem na jeszcze jedno rozwiązanie:

  1. <?php
  2. $post = 'login=testowe12&ampregister=0&password=testowe12&cookie_check=1&_xfToken=&redirect='.urlencode("http://gsmx.co");
  3.  
  4. $handle = curl_init('http://gsmx.co/logowanie/login');
  5. curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);
  6. curl_setopt($handle, CURLOPT_HEADER, 1);
  7. curl_setopt($handle, CURLOPT_HTTPHEADER, array(
  8. 'Host: gsmx.co',
  9. 'Content-Length: 93',
  10. 'Cache-Control: max-age=0',
  11. 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
  12. 'Origin: <a href="http://gsmx.co'" target="_blank">http://gsmx.co'</a>,
  13. 'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36',
  14. 'Content-Type: application/x-www-form-urlencoded',
  15. 'Referer: <a href="http://gsmx.co/login'" target="_blank">http://gsmx.co/login'</a>,
  16. 'Accept-Language: pl-PL,pl;q=0.8,en-US;q=0.6,en;q=0.4'));
  17. //'Cookie: xf_session='.$cookie["xf_session"].'; GCSCU_770734409090_H2=C=770734409090.apps.googleusercontent.com:S=81bef9fa0c3fbd
    aac13c33f8b709fc73474d3562.kvhqgGncJscCDSvW.7dde:I=1403792615:X=1403879015'));
  18. curl_setopt($handle, CURLOPT_FOLLOWLOCATION, 1);
  19. curl_setopt($handle, CURLOPT_POSTFIELDS, $post);
  20. $output = curl_exec($handle);
  21.  
  22. preg_match('/^Set-Cookie:\s*([^;]*)/mi', $output, $cookie);
  23. parse_str($cookie[1], $cookie);
  24.  
  25. echo $cookie["xf_session"].'<br>'.$output;
  26. ?>


Problem jest następujący: odczytałem identyfikator sesji, ale żeby go użyć, muszę ponownie wczytać stronę, co wiąże się z jego zmianą.
Jak mogę dynamicznie użyć tego aktualnego identyfikatora sesji?

Pozdrawiam.
com
To nie forum dla tego typu zabaw wink.gif
Manderigon
Dlaczego?

@ref
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.