Autor | Zpráva | ||
---|---|---|---|
lowaczek Profil |
#1 · Zasláno: 10. 12. 2010, 18:35:21
Dobrý den, mám takový dotaz. Chtěl bych udělat asi tohle:
Na stránce jsou vygenerovány dvě čísla mezi nimi je + a za tim = a pak input pole .. u me t vypadá asi takhle: <p><u>Od 0 do 100</u> <form method="post" action="scitani.php" target="_blank"> <?php $scitani1 = rand(0,100); $scitani2 = rand(0,100); echo $scitani1."+".$scitani2; ?> <input type="text" name="soucet1"/> <p><input type="submit" name="odeslano" value="Kontrola"> </form> pak mám php soubor scitani.php a já potřebuju nastavit podmínku asi takovoudle: pokud $scitani1+$scitani2==$soucet1 {echo "Správný výsledek"} asi něco takového jenže jsem pochopil že to jaksi nepujde protože ty dvě proměnné $scitani1 a $scitani2 jsou v tom původním souboru. A vás se tedy ptám jestli nevíte jak to udělat díky moc za odpověď. |
||
xmark Profil |
#2 · Zasláno: 10. 12. 2010, 18:43:55
To záleží na tom, jakou neprůstřelné to má být. Úplně nejjednodušší by bylo ten součet dát v tom formu do hidden pole. Poněkud beypečnější varianta by byla, že bys to pro účely toho přenosu zašifroval.
|
||
lowaczek Profil |
#3 · Zasláno: 10. 12. 2010, 18:49:23
xmark:
Nikdyj sem to nepoužíval prosím mohl by si uvést příklad abych to měl před sebou? lépe se to pak chápe. Díky moc. |
||
mattyZEM Profil |
#4 · Zasláno: 10. 12. 2010, 18:58:20
lowaczek:
Formulář: <?php $s1=rand(0,100); $s2=rand(0,100); ?> Napište součet čísel <?php echo $s1." a ".$s2; ?> <input type="text" name="soucet"> <input type="hidden" value="<?php echo md5($s1+$s2); ?>" name="soucet_hidden"> Zpracování: <?php if(md5($_POST['soucet'])==$_POST['soucet_hidden'])echo 'Správný výsledek.'; ?> |
||
xmark Profil |
#5 · Zasláno: 10. 12. 2010, 18:59:00
lowaczek:
<input type="hidden" name="soucet" value="<?php echo ($scitani1+$scitani2); ?>"> A tam, kde načítáš data z formuláře, načteš o navíc toto. A porovnáš. |
||
marcus33cz Profil |
#6 · Zasláno: 10. 12. 2010, 19:05:32
Pokud chceš, aby ten součet nebyl nikde uvedený, máš poměrně dost možností. Jako první mě napadlo ho hashovat - neříkám, že je to to nejlepší, účel to ale snad splní.
<p><u>Od 0 do 100</u> <form method="post" action="scitani.php" target="_blank"> <?php $scitani1 = rand(0,100); $scitani2 = rand(0,100); echo $scitani1."+".$scitani2; $hashovanySoucet=$scitani1+$scitani2; $hashovanySoucet=sha1($hashovanySoucet); ?> <input type="text" name="soucet1"/> <input type="hidden" name="hashovanySoucet" value="<?php echo $hashovanySoucet?>"> <p><input type="submit" name="odeslano" value="Kontrola"> </form> V souboru scitani.php pak můžeš mít: $soucet1 = sha1( $_POST['soucet1'] ); if ( $soucet1 == $_POST['hashovanySoucet'){ echo "Správný výsledek"} Toto je takový základ, vyššího stupně zabezpečení můžeš dosáhnout "solením" (tzv. salting). A samozřejmě bys měl ošetřit údaje zadávané uživatelem (v $_POST poli), aby nebyla stránka zranitelné. |
||
lowaczek Profil |
#7 · Zasláno: 10. 12. 2010, 19:12:59
Ok díky moc..
|
||
Časová prodleva: 13 let
|
0