|
הרשם | ![]() |
שאלות ותשובות | ![]() |
רשימת חברים | ![]() |
לוח שנה | ![]() |
הודעות מהיום | ![]() |
חיפוש | ![]() |
|
![]() |
![]() |
|
כלים לאשכול | תצורת הצגה |
|
![]() |
# 1 |
חבר וותיק
|
אין קשר לRECAPTCHA
הוא מתכוון שיעשו לו SUBMIT לטופס מבחוץ.. סוג של X/CSRF תעבוד עם TOKEN-ים תחזיק איזה MD5 של משהו ייחודי בסשן, תזרוק אותו בטופס בתור ערך מוסתר ותשווה ביניהם בבדיקה
__________________
![]() |
![]() |
![]() |
# 2 | |
א.פורום תוכנה
עסק רשום |
ציטוט:
אתה מכניס את הRECHAPTA כתנאי להכנסת נתונים למסד, כמו פה: קוד:
<?php include("config.php") ; include("dblib.php") ; include("sessions.php") ; require_once('recaptchalib.php'); $publickey = "****blabla*****"; $privatekey = "****blabla*****"; # the response from reCAPTCHA $resp = null; # the error code from reCAPTCHA, if any $error = null; # was there a reCAPTCHA response? $bool_is_login = false ; if($session[user_id] > 0) { $bool_is_login = true ; } if(!$bool_is_login) { if($_POST['a'] == "register") { $userdata = $_POST['userdata'] ; $userdata[username] = htmlspecialchars(trim($userdata['username'])) ; $userdata[email] = htmlspecialchars(trim($userdata['email'])) ; $userdata[f_name] = htmlspecialchars(trim($userdata['f_name'])) ; $userdata[l_name] = htmlspecialchars(trim($userdata['l_name'])) ; $userdata[phone] = htmlspecialchars(trim($userdata['phone'])) ; $bool_register = false ; if(empty($userdata[username])) { $message = "Username is empty" ; }elseif(is_username_exists($userdata[username])) { $message = "Username is already exist" ; }elseif(empty($userdata[password])) { $message = "Password is empty" ; }elseif(empty($userdata[address])) { $message = "Address is empty" ; }elseif(empty($userdata[company])) { $message = "Company name is empty" ; }elseif($userdata[password] != $userdata[c_password]) { $message = "Passwords are not equal" ; }elseif(empty($userdata[email])){ $message = "E-Mail is empty" ; }elseif(!check_email_address($userdata[email])){ $message = "E-Mail is not vaild." ; }elseif(empty($userdata[f_name])){ $message = "First name is empty" ; }elseif(empty($userdata[l_name])){ $message = "Last name is empty" ; }elseif(empty($userdata[phone])){ $message = "Phone number is empty" ; }elseif(empty($userdata[p_question])){ $message = "Hint for PIN is empty" ; }elseif(empty($userdata[p_answer])){ $message = "PIN is empty" ; }else{ if ($_POST["recaptcha_response_field"]) { $resp = recaptcha_check_answer ($privatekey, $_SERVER["REMOTE_ADDR"], $_POST["recaptcha_challenge_field"], $_POST["recaptcha_response_field"]); if ($resp->is_valid) { $bool_register = true ; } else { $message = "Incorrect security code. <br/>Please try again." ; $error = $resp->error; } }else{ $message = "Security code field is empty." ; } } if($bool_register) { $userdata[enc_password] = md5($userdata[password]) ; $userdata[reg_time] = $userdata[last_time] = time() ; $sql = "INSERT INTO users(username, password, reg_time, last_time, f_name, l_name, email, homepage, regas, address, company, p_question, p_answer) VALUES('{$userdata[username]}', '{$userdata[enc_password]}', '{$userdata[reg_time]}', '{$userdata[last_time]}', '{$userdata[f_name]}', '{$userdata[l_name]}', '{$userdata[email]}', '{$userdata[phone]}', 'Investor', '{$userdata[address]}', '{$userdata[company]}', '{$userdata[p_question]}', '{$userdata[p_answer]}')" ; mysql_query($sql) ; $userdata[user_id] = mysql_insert_id() ; login($userdata[user_id]) ; header("Location: http://www.your-page.com") ; exit ; } } } והקוד שמתנה האם להציג טופס/הודעה אחרת: קוד:
<?php if($message) { ?><span style="color: red;"><?=$message?></span><? } if($session[user_id] > 0) { ?> <h2><span style="color: red;">You are already logged in.</span> </h2> <?php }else{ if(!$bool_is_login) { show_register_form() ; }else{ show_other_message() ; } } ?> שכולל את כל הפונקציות כמו login וכו'... תנסה לשלוח מבחוץ לטופס הזה... Last edited by OrPol; 05-01-09 at 10:09.. |
|
![]() |
![]() |
חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים) | |
|
|