Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php/SQL] Przekierowanie po zalogowaniu na wybraną stronę przez usera
Forum PHP.pl > Forum > PHP
free
Na stronie mam linki aktywne po zalogowaniu. Np aby dodac komentarz nalezy sie zalogowac. Gosc klika i skrypt wyswietla mu logowanie. Po zalogowaniu przenosi go do własnego profilu konta.
Jak rozwiazac problem ze zalogowany user przekierwoany zostaje na strone która chcial ogladnac przed zalogowaniem.
Nie prosze o gotowe rozwiazanie ale o nakierowanie, typu czy nalezy dodac dodatkowe pole w tabeli users zawierające adres sprzed zalogowaniem ?
revyag
Przekierowanie to wystarczy zwykły header. Sprawdzasz czy login i haslo sie zgadzaja i robisz przekierowanie, a po przekierowaniu wyciagasz z bazy dane usera,na podstawie jego loginu.
free
Ok stosuje te funkcje header. Tylko jak od strony technicznej dodac do bazy danych adres strony z ktorej gosc trafił by sie zalogowac ?
Denver
header + $_SERVER['HTTP_REFERER'] powinno wyjaśnić sprawę.
Ludvik
W formularzu do logowania dodajesz ukryte pole z zawartością nagłowka Referer. Po wysłaniu formularza sprawdzasz login i hasło, a następnie wysyłasz nagłówek Header z zawartością tego ukrytego pola smile.gif
free
Acha :-) Po prostu robie pole input z wartoscia hidden a w nim wartosc otrzymana z $_SERVER['HTTP_REFERER'] i potem w przekierowaniu za pomoca php lub JS wyswietlam mu strona o adresie ze zmiennej $_SERVER['HTTP_REFERER']
Dziekuje proste rozwiazanie nie trzeba angazowac do tego dodatkowego pola w sql :-)
Jak bede mial chwilke czasu /dizs niedziela leniuchuje na www/ to sprwdze jak jest w praktyce.
thornag
A co jesli przegladarka nie ustawi referera ? Dodaj jeszcze ifa. Jesli pole bedzie puste przekieruj na widok defaultowy, np konto. Wez pod uwage tez zeby zadbac o to zeby usera nie przenioslo spowrotem na np google biggrin.gif
Denver
Niestety, ale pole <input hidden> pozostawia duże możliwości wszelkim wyznawcom phishingu - wystarczy, że w jakimkolwiek miejscu Sieci przekierują użytkownika na "Twoją stronę" generując sfałszowany formularz, który przeniesie kogoś na stronę crackera i... problem z głowy - cenne dane (a w najbardziej optymalistycznym wyjątku: konto użytkownika) zostanie przechwycone bez najmniejszych problemów. Dlatego też wolę dawać formularz logowania na _każdej_ podstronie (gdzieś w mało widocznym miejscu), gdzie mogę skorzystać z $_SERVER['HTTP_REFERER'] aby zalogować użytkownika i wrócić na poprzednio oglądaną stronę.
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.