• Welcome to Forum graficzne Burning-Brushes.pl. Please log in or sign up.
 

Token dodawania (np. 2+2= ?)

Zaczęty przez Tomasz, Styczeń 29, 2011, 15:18:34

Poprzedni wątek - Następny wątek
Witam.
W tym poradniku jak sprawdzić czy przy wysyłaniu formularza jest człowiek czy bot.
Zaczynamy od jakiegoś formularza:
<form action="check.php" method="POST">
<input type="text" name="imie" />
<?php //no to zaczynamy
$pierwsza rand(1,9); // definiujemy zmienną pierwsza która zawiera instrukcje rand() czyli mieszanie. W tym przypadku losuj od 1 do 9.
$druga rand(1,9); //to samo co wcześniej
$suma $pierwsza $druga// sumujemy dwie liczby
echo $pierwsza.'+'.$druga.'=?'// wyświetlamy te dwie liczby jako działanie.
?>

<input type="text" name="suma" />
<input type="hidden" name="sumaok" valve="<?php echo $suma?>" /> <!-- input hidden nie będzie widoczny i zawiera dobrą sumę. -->
<input type="button" valve="Wyslij" />
</form>

Czas na check.php:
<?php
$suma 
$_POST['suma']; //pobiera informacje z input suma
$sumaok $_POST['sumaok']; //pobiera informacje z input sumaok
$imie $_POST['imie'];  //pobiera informacje z input imie
if($suma == $sumaok){
echo 
'Suma jest poprawna. Twoje imie to'.$imie;
}
else {
echo 
' Nie poprawna suma. Nie wyświetle twojego imienia <foch> ';
}
?>

To wszystko.
Oczywiście może tak być że bot będzie penetrował w kodzie tego input hidden więc ten token to nie jest szczyt bezpieczeństwa. Ale przyjamiej już coś broni strony...
Pzdr. paluch979

Loool wielkie dzięki! Szukałem tzn. próbowałem sam napisać ale miałem błędy x/.
Ale oblookałem i już wiem gdzie miałem błędy ^^ Dzięki wielkie, naprawdę się sprzydał!  ;)


sam piszesz, że jest nie bezpieczny...
to weź go może 'ulepsz' dodaj tablice z typami równań cokolwiek...