Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][curl] automatyczne logowanie i przekierowanie
Foxx
post 21.09.2009, 13:35:48
Post #1





Grupa: Zarejestrowani
Postów: 896
Pomógł: 76
Dołączył: 15.11.2003
Skąd: Sosnowiec/Kraków

Ostrzeżenie: (0%)
-----


Mam następujące zadanie: użytkownik na mojej stronie klika link, który otwiera mu nowe okno przeglądarki w którym jest zalogowany do zewnetrznego systemu. Zacząłem szukać i udało mi się osiągnąć efekt, w którym za pomocą curl prawidłowo przechodzę przez formularz logowania i w zmiennej $strona otrzymuję zawartość strony po zalogowaniu:

  1. $curl = curl_init('http://strona.pl/logowanie.php');
  2. curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
  3. curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
  4. curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
  5. curl_setopt($curl, CURLOPT_COOKIEFILE, dirname(__FILE__) . '/cookies.txt');
  6. curl_setopt($curl, CURLOPT_COOKIEJAR, dirname(__FILE__) . '/cookies.txt');
  7. curl_setopt($curl, CURLOPT_POSTFIELDS, 'login=jan&haslo=abc');
  8.  
  9. echo $strona = curl_exec($curl);
  10.  
  11. curl_close($curl);


Problem w tym, że po wykonaniu tego kodu nadal jestem na mojej stronie a nie na http://strona.pl
Parametr FOLLOWLOCATION wydawał się mieć z tym coś wspólnego, ale nie jednak nie zostaję przekierowany. To czego potrzebuję, to dodatkowo właśnie przejść na http://strona.pl a nie wyświetlać jej zawartość na mojej stronie. Nie wiem czy to w ogóle możliwe tą metodą? Będę wdzięczny jeżeli ktoś mi podpowie jak uzyskać taki efekt, pozdrawiam.
Go to the top of the page
+Quote Post
nexis
post 21.09.2009, 13:41:51
Post #2





Grupa: Zarejestrowani
Postów: 1 012
Pomógł: 109
Dołączył: 26.09.2003
Skąd: nexis.pl

Ostrzeżenie: (0%)
-----


Nie tędy droga. Biblioteka CURL pozwala na wykonywanie większości czynności udających człowieka siedzącego przed komputerem tj. logowanie się do serwisów i pobranie odpowiednich informacji. Nie ma to jednak nic wspólnego z faktycznym użytkownikiem, ponieważ to twój serwer się loguje, a nie klient, który uruchamia skrypt na twojej stronie. Jeśli chodzi o logowanie do zewnętrznego serwisu, to polega ono w 99% na ciasteczku ustawianym w przeglądarce użytkownika. Ty takiego ciasteczka nie możesz ustawić dla nie swojej domeny.

Ten post edytował nexis 21.09.2009, 13:42:34


--------------------
Zend Certified Engineer

Kliknij POMÓGŁ jeśli moja odpowiedź okazała się użyteczna!
Go to the top of the page
+Quote Post
Foxx
post 21.09.2009, 13:57:36
Post #3





Grupa: Zarejestrowani
Postów: 896
Pomógł: 76
Dołączył: 15.11.2003
Skąd: Sosnowiec/Kraków

Ostrzeżenie: (0%)
-----


To że tego ciasteczka nie ustawię dla nie swojej domeny znaczy że tego się w ogóle nie da zrobić?

To, co chcę osiągnąć to sprawienie, żeby użytkownicy mogli się zalogować tylko raz na mojej stronie i mieli z niej dostęp do kilku systemów już bez konieczności osobnego logowania się do każdego z nich. Nie ma jakiejś innej metody osiągnięcia takiego efektu?

Go to the top of the page
+Quote Post
erix
post 21.09.2009, 14:13:56
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
To, co chcę osiągnąć to sprawienie, żeby użytkownicy mogli się zalogować tylko raz na mojej stronie i mieli z niej dostęp do kilku systemów już bez konieczności osobnego logowania się do każdego z nich. Nie ma jakiejś innej metody osiągnięcia takiego efektu?

Przekazać SID przez URL. Skrypty na innych domenach sprawdzają, czy jest podany - jeśli tak, to ustawiają odpowiednie ciastko.

PHP nie rozróżnia domen dla identyfikatorów sesji, więc jeśli podasz SID + ustawisz odpowiednie ciastko - dane będą współdzielone.


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

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
Foxx
post 21.09.2009, 15:30:43
Post #5





Grupa: Zarejestrowani
Postów: 896
Pomógł: 76
Dołączył: 15.11.2003
Skąd: Sosnowiec/Kraków

Ostrzeżenie: (0%)
-----


Dzięki chłopaki, bardzo mi pomogliście i udało się w końcu smile.gif
Go to the top of the page
+Quote Post
--twardes--
post 13.06.2012, 14:46:19
Post #6





Goście







Chciałbym odświeżyć temat

czy możecie pokazać jakiś przykład automatycznego przekazania danych do wyszukiwarki i przejście na stronę wyszukiwania.
(chcę kierować użytkownika na https://homebroker.pl/wyniki_wyszukiwania)

z góry dzięki za podpowiedź
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 18.07.2025 - 04:44