Natknąłem się na coś, co mnie zaintrygowało przez ostatnie 3 godziny w związku z procedurą logowania na Facebooku.Jak Facebook wykonuje te przekierowania?
Odwiedziłem http://m.facebook.com (z UO Spoofer zainstalowany i ustawiony na Nokia Lumia User-Agent) i przystąpiłem do logowania podczas monitorowania nagłówków. Celowo wprowadziłem złe hasło dla posiadanego konta.
Po naciśnięciu przycisku logowania wysyła żądanie POST do tego adresu URL: https://m.facebook.com/login.php?refsrc=http%3A%2F%2Fwww.facebook.com%2F&refid=8 kod stanu zwraca kod odpowiedzi 200.
Wtedy natychmiast potem robi żądanie GET do tego URL: http://m.facebook.com/login.php?refsrc=http%3A%2F%2Fwww.facebook.com%2F&refid=8&e=1348022&email=frankthebutcher%40hotmail.com&signup_layout=layout%7Cbottom_clean%7C%7Cwider_form%7C%7Cprmnt_btn%7Cspecial%7C%7Cst%7Ccreate%7C%7Cheader_button%7C%7Chdbtn_color%7Cgreen%7C%7CFeb1&li=jFMuUdDWbmFhq8b-zAjEOHnE&_rdr
który jest URL, który mówi, że hasło jest nieprawidłowe.
Ale skąd pochodzi przekierowanie? W nagłówkach odpowiedzi nie ma nic z pierwszego żądania POST, a JavaScript nie jest włączony.
Wypróbuj w Chrome. Chciałbym wiedzieć, jak to robi, więc mogę odpowiednio dostosować aplikację mobilną, którą tworzę.
rozwiązany: W mojej aplikacji mobilnej byłem wysłanie żądania POST do prawego URL, ale ciąg URL Kiedyś był kodowany, co było przyczyną problemu.
Prawdopodobnie nagłówek 'Location:' jest wysyłany z pierwszym żądaniem (do którego przeglądarka następnie uruchamia się po przetworzeniu odpowiedzi). –
Przeszedłem przez nagłówki z cienkim grzebieniem zębów, tam nic nie widzę. –
Tak, wiele aplikacji mobilnych opiera się na Globalnym Systemie Pozycjonowania, dzięki czemu może dostosować, do którego serwera się zalogować. – Greg