Autor Zpráva
Hiro Nakamura
Profil *
Hi, robim si bezpecnost na odoslanie email. formu. Ma sa vypocitat priklad $var1 + $var2

$var1 = rand(1,5);
$var2 = rand(1,5);
$vysledok = $var1 . " + " . $var2;
$zadany_vysledok = $_POST['bezpecnost'];


a problem je taky ze ked je priklad napr.
3 + 3 (vysledok ma byt 6) a ja napisem 6 a dam odoslat tak to napise chybu ze je zly vysledok lebo ten vysledok sa porovna s prikladom ktory sa vygeneruje az po odoslani formu..
Cize ked odoslem form tak novy priklad bude napr.
1 + 3 a to uz nieje 6 takze sa to neodosle.. Tak ako to mam teda spravit? Chcete to aj po anglicky?
Pietro
Profil
Podle mne nejlepsi zpusob je si prvne vygenerovany vysledek ulozit do SESSION a pri dalsim odeslani porovnavat se SESSION.
Hiro Nakamura
Profil *
To som skusal, nejde to.. da iny napad
Leopik 2x
Profil
Neviem, ale zda sa mi ze to bude tym ze mas plusko (+) v zatvorke. Malo by to vyzerat takto:
...
$vysledok = $var1 + $var2;
...

EDIT: Precital som to este raz a vidim ze moja rada ti je na nic:)
joe
Profil
session_start();
$var1 = rand(1,5);
$var2 = rand(1,5);
$_SESSION['vysledekSpam'] = $var1 + $var2;
echo $var1 . " + " . $var2 . " = ";
echo '<input type="text" name="bezpecnost" />';

a potom při odesílání
session_start();
if($_SESSION['vysledekSpam'] != $_POST['bezpecnost']) {
echo 'špatný součet';
exit;
}

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0