دیتالایف انجین فارسی

چک کردن ایمیل در زمان ثبت نام

تاریخ انتشار: 13 مرداد 1393
ارسال کننده: numen
به وسیله این هک می توانید در موقع ثیت نام مانند نام کاربری از وجود داشتن یا نداشتن ایمیل در سایت مطمئن شوید .
  • آموزش نصب
  • تصاویر
1. فایل registration.tpl موجود در قالب سایت خود را باز کنید .
- کد زیر را پیدا کنید :

<input type="text" name="email" class="f_input" dir="ltr" />


-* کد زیر جایگزینش کنید :

<input type="text" name="email" id="email" class="f_input" dir="ltr" /> <input class="bbcodes" style="height: 22px; font-size: 11px;" title="چک کردن ایمیل" onclick="CheckEmail(); return false;" type="button" value="چک کردن" /> <div id='result-registration'></div>


2. فایل engine/classes/js/dle_js.js را باز کنید .
- کد زیر را پیدا کنید :

function CheckLogin(){var a=document.getElementById("name").value;ShowLoading("");$.post(dle_root+"engine/ajax/registration.php",{name:a},function(a){HideLoading("");$("#result-registration").html(a)});return!1}


- بعدار آن کد زیر را قرار دهید :

function CheckEmail(){var a=document.getElementById("email").value;ShowLoading("");$.post(dle_root+"engine/ajax/registration.php",{email:a},function(a){HideLoading("");$("#result-email").html(a)});return!1}


3. فایل engine/ajax/registration.php را باز کنید .
- کد زیر را پیدا کنید :

$parse = new ParseFilter();


- بعدار آن کد زیر را قرار دهید :

function check_email($email) { global $lang, $db, $banned_info, $config; $stop = ""; if( empty( $email ) OR strlen( $email ) > 50 OR @count(explode("@", $email)) != 2 OR !preg_match( "|([a-z0-9_\.\-]{1,20})@([a-z0-9\.\-]{1,20})\.([a-z]{2,4})|is", $email)) $stop .= $lang['reg_err_6']; if( count( $banned_info['email'] ) ) { foreach ( $banned_info['email'] as $banned ) { $banned['email'] = str_replace( '\*', '.*', preg_quote( $banned['email'], "#" ) ); if( $banned['email'] and preg_match( "#^{$banned['email']}$#i", $email ) ) { if( $banned['descr'] ) { $lang['reg_err_23'] = str_replace( "{descr}", $lang['reg_err_22'], $lang['reg_err_23'] ); $lang['reg_err_23'] = str_replace( "{descr}", $banned['descr'], $lang['reg_err_23'] ); } else { $lang['reg_err_23'] = str_replace( "{descr}", "", $lang['reg_err_23'] ); } $stop .= $lang['reg_err_23']; } } } if( $stop == "" ) { $row = $db->super_query( "SELECT COUNT(*) as count FROM " . USERPREFIX . "_users WHERE email='" . $email . "'" ); if( $row['count'] ) $stop .= "این ایمیل در سایت وجود دارد"; } return (!$stop) ? false : $stop; }


- کد زیر را پیدا کنید :

$name = $db->safesql(trim(htmlspecialchars($parse->process(convert_unicode($_POST['name'], $config['charset'])), ENT_QUOTES, $config['charset']))); $name = preg_replace('#\s+#i', ' ', $name); $allow = check_name($name); if (!$allow) $buffer = "<font color=\"green\">".$lang['reg_ok_ajax']."</font>"; else $buffer = "<font color=\"red\">".$allow."</font>";


- کد زیر جایگزینش کنید :

if( isset($_POST['name']) ) { $name = $db->safesql(trim(htmlspecialchars($parse->process(convert_unicode($_POST['name'], $config['charset'])), ENT_QUOTES, $config['charset']))); $name = preg_replace('#\s+#i', ' ', $name); $allow = check_name($name); $buffer = (!$allow) ? "<font color=\"green\">" . $lang['reg_ok_ajax'] . "</font>" : "<font color=\"red\">" . $allow . "</font>"; } elseif( isset($_POST['email']) ) { $email = $db->safesql(trim($_POST['email'])); $allow = check_email($email); $buffer = (!$allow) ? "<font color=\"green\">می توانید از این ایمیل استفاده نمایید.</font>" : "<font color=\"red\">" . $allow . "</font>"; }
چک کردن ایمیل در زمان ثبت نامچک کردن ایمیل در زمان ثبت نام
10 نفر (10 کاربر و 0 میهمان) از این مطلب تشکر کرده اند.
تشکر
عضو سایت
12 مرداد 1393 - 22:23
هک کاربردی هستش .

تشکر flower

--------------------
عضو سایت
30 دی 1393 - 15:01
درود

آقا من مشگل دارم با این هک تو صفحه عضویت

امکانش هست ببینید چرا وقتی روی چک کردن کلیک میکنی بررسی نمیکنه ؟

http://estekhdam24.com/index.php?do=register
جهت ارسال نظر، فرم زیر را تکمیل نمائید:
نام:*
ایمیل:*
متن نظر:

 
پررنگکج خط دارخط دار در وسط|سمت چپوسط سمت راست|قرار دادن شکلکانتخاب رنگ|پنهان کردن متنقراردادن نقل قولتبدیل نوشته ها به زبان روسیقراردادن Spoiler
کد امنیتی: *