Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Porównywanie tokena - CAPTCHA
Forum PHP.pl > Forum > PHP
Michael2318
Napisałem sobie prostą captchę. Token generuję na początku wczytywania strony i wciskam go do sesji. Potem pobieram ten token w pliku z captchą i każdą literkę sobie pod innym kątem wyświetlam, inna czcionka itd. Problem jest tego typu, że nie ma tego jak porównać w instrukcji warunkowej...
załóżmy, że token to 'g84f4'. Warunek:

  1. if ( $_SESSION['token'] == $_POST['kod'] )
  2. {
  3. echo 'kod poprawny';
  4. }


Problem w tym, że ten warunek NIGDY nie będzie prawdziwy bo po wpisaniu tokena do jakiegoś pola i zatwierdzeneniu formularza, wygeneruje nam się nowy token, w związku z czym stary będzie już nieaktualny... Da się to jakoś sensownie rozwiązać czy trzeba tu kombinować z mysql'em ?

EDIT:

W sumie, teraz tak myslę, że można dodać inputa o typie 'hidden' i do niego zakodowany w md5() wrzucać ten token, a potem to co wpisał user kodować w md5() i porównywać z tym co jest w polu hidden. To będzie chyba dobre ?
Kshyhoo
1.
  1. $token_text = substr(uniqid(''), 0, 8);
  2. $_SESSION['token_text'] = $token_text;

2.
  1. if ($_POST['token_text'] == $_SESSION['token_text']){
  2. // token poprawny
  3. } else {
  4. // token nie poprawny
  5. }
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.