הרשם שאלות ותשובות רשימת חברים לוח שנה הודעות מהיום

חזור   הוסטס - פורום אחסון האתרים הגדול בישראל > עיצוב גראפי, תכנות על כל שפותיו וקידום ושיווק אתרים > פורום תיכנות

   
|!|

השב
 
כלים לאשכול תצורת הצגה
ישן 04-01-09, 23:11   # 1
intercooler3819
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Jul 2008
הודעות: 1,056

intercooler3819 לא מחובר  

אין קשר לRECAPTCHA
הוא מתכוון שיעשו לו SUBMIT לטופס מבחוץ.. סוג של X/CSRF

תעבוד עם TOKEN-ים
תחזיק איזה MD5 של משהו ייחודי בסשן, תזרוק אותו בטופס בתור ערך מוסתר ותשווה ביניהם בבדיקה
__________________
  Reply With Quote
ישן 05-01-09, 10:06   # 2
OrPol
א.פורום תוכנה
עסק רשום
 
OrPol's Avatar
 
מיני פרופיל
תאריך הצטרפות: Aug 2006
הודעות: 1,979

OrPol לא מחובר  

ציטוט:
נכתב במקור על ידי nitsanbn צפה בהודעה
אין קשר לRECAPTCHA
הוא מתכוון שיעשו לו SUBMIT לטופס מבחוץ.. סוג של X/CSRF

תעבוד עם TOKEN-ים
תחזיק איזה MD5 של משהו ייחודי בסשן, תזרוק אותו בטופס בתור ערך מוסתר ותשווה ביניהם בבדיקה
כאשר הטופס באותו עמוד של הכנסת הנתונים למסד, זה קשור בהחלט.
אתה מכניס את ה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..
  Reply With Quote
השב

חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים)
 


חוקי פירסום
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is מופעל
סמיילים הם מופעל
[IMG] קוד מופעל
קוד HTML מכובה

קפיצה לפורום


כל הזמנים הם GMT +2. הזמן כעת הוא 22:38.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ