Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Porównywanie tokena - CAPTCHA
Michael2318
post
Post #1





Grupa: Zarejestrowani
Postów: 651
Pomógł: 116
Dołączył: 3.06.2012
Skąd: Lędziny

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


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 ?

Ten post edytował Michael2318 25.12.2012, 02:51:40
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
Kshyhoo
post
Post #2





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




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. }
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 24.08.2025 - 23:15