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 |
#2 · Zasláno: 6. 9. 2008, 17:12:07
Podle mne nejlepsi zpusob je si prvne vygenerovany vysledek ulozit do SESSION a pri dalsim odeslani porovnavat se SESSION.
|
||
Hiro Nakamura Profil * |
#3 · Zasláno: 6. 9. 2008, 17:55:24
To som skusal, nejde to.. da iny napad
|
||
Leopik 2x Profil |
#4 · Zasláno: 6. 9. 2008, 19:15:54 · Upravil/a: Leopik 2x
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 |
#5 · Zasláno: 6. 9. 2008, 19:25:54
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; } |
||
Časová prodleva: 17 let
|
0