Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Logowanie użytkownika i przekierowanie na strone
Forum PHP.pl > Forum > PHP
seba22
Witam,

Mam problem, chciał bym aby użytkownik mógł spokojnie zalogować się na moją stronę z dowolnego miejsca.

Mam na myśli, jest na forum, ma otwarty jakiś temat, to nie ma zamiaru latać ze strony głównej ponownie na forum, i klikać 5 razy zanim wróci do materiału w którym chciał dodać komentarz.


Pomyślałem o takim kodzie: z użyciem HTTP_REFERER


  1. <?php
  2. if ($_SERVER['HTTP_REFERER']=='http://logowanie' OR $_SERVER['HTTP_REFERER']=='http://www.logowanie')
  3. {
  4. header("Location: index.php"); //wypi***ala go na majna
  5. exit();
  6. }
  7. else
  8. {
  9.  
  10. header("Location: $_SERVER['HTTP_REFERER']");
  11. exit();
  12. }
  13. ?>



Niestety Crashuje się takim błędem:

  1. <?php
  2. Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in
  3. ?>



Czy mają Państwo jakiś pomysł, na ulepszenie tego ?
Finalnie myślałem nad zastosowaniem dodatkowo sesji, na wypadek gdyby użytkownik pomylił się w logowaniu, to żeby finalnie poleciał jednak na stronę z której przyszedł, a nie na strone logowania, no to są niuanse techniczne, które zrobie, tylko nie mogę zrozumieć tego problemu z tym błędem składni syntax.
czachor
  1. <?php
  2. header('Location: ' . $_SERVER['HTTP_REFERER']);
  3. ?>
sobstel
1. co do crasha to zapewne powinno byc header("Location: ".$_SERVER['HTTP_REFERER']); a nie header("Location: $_SERVER['HTTP_REFERER']");
2. _SERVER['HTTP_REFERER'] to jeden z gorszych sposobow na realizacje tego co chcesz (nie zawsze jest ustawiany przez przeglądarke, moze byc latwo podrobiony, poza tym co jak wysle usera bezposrednio z mojej strony do twojego logowania? wtedy po zalogowaniu twój skrypt przekieruje mnie z powrotem do mojej strony!). jakie inne sposoby? mozna na przyklad formularz logowania miec caly czas widoczny (jak na tym forum), mozna trzymac aktualny adres w sesji, mozna w formularzu trzymac id lub czesiowe lokalne uri strony, etc etc
seba22
Jak odwołać się do aktualnego adresu w sesji ?
Bo to mi się zaczyna podobać.

Odnośnie hackowania, to pomyślałem żeby dać proceduje sprawdzającą czy url zaczyna się od mojadomena.

Ale twój pomysł, wydaje się być o wiele genialniejszy i poostrzy.

Zapisać w sesji aktualny url.
erix
Cytat
Pomyślałem o takim kodzie: z użyciem HTTP_REFERER

Zapomnij. Przy moich odwiedzinach masz ten nagłówek pusty, i co?

Cytat
Jak odwołać się do aktualnego adresu w sesji ?
Bo to mi się zaczyna podobać.

Generujesz sobie jakiś token, ID żądania, zapisujesz pod nim w sesji URL, przekazujesz token do strony logowania, jeśli zalogowany - sprawdzasz, czy jest token w adresie, jeśli tak - przekieruj na URL, na który wskazuje. Wsjo. winksmiley.jpg
seba22
Dziękuję bardzo,

Już gotowe, przetestowane, działa winksmiley.jpg

Jesteście super, widzicie Panowie, dla tego warto się PYTAĆ !

Kombinowałem niepotrzebnie, a teraz działa cudownie smile.gif)

Pozdrawiam
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.