Autor | Zpráva | ||
---|---|---|---|
ONdra28 Profil * |
Zdravím,
napsal jsem si návštěvní knihu a eště než s odešle příspěvěk tak samozřejmně ochrana typu opište kód z obrázku blablabla... No takže návštěvní knihu mám napsanou, captchu taky s náhodným řetězcem a vás se ptám jak ten náhodný řetězec nějak "uchovat" aby zůstal stejný i po odeslání formuláře, protože při psaní vzkazu se nějaký vygeneruje...a při odeslání s e vygeneruje jiný tak je nemůžu kontrolovat... Jak to řešíte vy ? Díky za odpovědi. |
||
Radek9 Profil |
#2 · Zasláno: 4. 8. 2009, 09:54:09
sessions, cookies, get, post.... jinak to snad už ani nejde.
|
||
ONdra28 Profil * |
#3 · Zasláno: 4. 8. 2009, 10:09:47
Já to přes SESSION zkoušel ale stejně to nešlo :(
Kod: <?php session_start(); include("fces.php"); $znaky ="abcdefghijklmnopqrstuvwxyz"; $textik = ""; for($i=0;$i<=7;$i++) { $textik .= $znaky[rand(0,strlen($znaky) - 1)]; $_SESSION["code"] = $textik; if(isset($_POST["submit"])) { mysql_connect("localhost","root","") or Die("Could not connect to DB"); mysql_select_db("developer") or Die("Could not select DB"); //Tahani promennych z formu, casem si na to udelam funkci :D $nick = $_POST["nick"]; $mail = $_POST["mail"]; $text = $_POST["text"]; $ip = $_SERVER["REMOTE_ADDR"]; $code = $_POST["code"]; if($nick=="" or $mail=="" or $text=="" or $code=="") { $error = "Vsechna pole musite vyplnit"; } if(!strpos("@",$mail)) { $error = "Policko E-mail je nespravne vyplnene !"; } if($code!=$_SESSION["code"]) { $error = "Text z obrazku je spatne vyplneny !"; } $text = Over($text); if(!$error) { $dotaz = mysql_query("INSERT INTO guestbook (jmeno,mail,text,ip) VALUES('". $nick ."','". $mail ."','". $text ."','". $ip ."')") ? "Pøidání záznamu bylo úspìšné !" : "Nìco selhalo !"; echo $dotaz . mysql_error(); } else { echo $error; } } ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=windows-1250"> <meta name="generator" content="PSPad editor, www.pspad.com"> <title></title> </head> <body> <form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post"> <label>Jméno</label><input type="text" name="nick" /> <br /> <label>E-mail</label><input type="text" name="mail" /> <br /> <label>Text zprávy</label> <br /> <textarea cols="40" rows="4" name="text"></textarea> <br /> <img src="kapca.php?code=<?php echo $_SESSION["code"] ;?>" alt="Security code" /> <br /> <label>Opište text z obrázku</label><input type="text" name="code" /> <br /> <input type="submit" name="submit" value="Odešli pøíspìvek" /> </form> </body> </html> |
||
ONdra28 Profil * |
#4 · Zasláno: 4. 8. 2009, 11:00:11
Vyřešeno... už mi to šlape
|
||
Aichi Profil * |
#5 · Zasláno: 4. 8. 2009, 13:15:35
jestli do toho src obrázku strkáš např. kapca.php?code=ahoj a člověk má opsat "ahoj" tak to není moc neprůstřelný, takže doufám, že ten code je nějaký jedinečný identifikátor, třeba osolená md5() toho opisovaného výrazu
|
||
ONdra28 Profil * |
#6 · Zasláno: 4. 8. 2009, 14:09:12
kapca.php?code= ahoj sem dal uplne pryc... neda se to ze zdrojaku vycist pouze z obrazku
|
||
Časová prodleva: 15 let
|
0