یکی از مشکلات همیشگی وبسایتها، اسمپر ها هستند. توی دیتالایف انجین برای جلوگیری کردن از ثبت نام این دسته از افراد و همچنین ثبت نام های کیلویی میتوانید قابلیت ارسال لینک فعال سازی رو روشن کنید تا کاربر مجبور باشد از آدرس ایمیل برای ثبت نام استفاده کند. اما، متاسفانه با وجود سایتهایی که آدرس ایمیل موقت در اختیار کاربران میگذارند، میتوان از این قسمت سیستم سو استفاده کرد و این مشکل بزرگی برای وبسایتهایی است که به دنبال جذب کاربر واقعی هستند و تمایل دارند کاربرانشون درست حسابی ثبت نام کنند! مانند تمامی سایتهای معتبر.
با توجه به مشکل مشابهی که در سایت پرسش و پاسخ داشتم، یک هک کوچیک و ساده درست کردم تا از ثبت نام این دسته از افراد جلوگیری کنیم. این هک برای دوستانی که به کاربران عضو در سایتشون خدمات دهی انجام میدهند و به کاربران موقت نیاز ندارند بسیار مفید میباشد.
آپدیت:
اضافه شدن هک به صفحه پروفایل کاربر تا پس از ثبت نام نیز در قسمت پروفایل کاربری، فقط از آدرس ایمیل های معتبر استفاده کنند کاربران.
پس از خط بالا، کد زیر رو قرار بدید:
$hostings = "/@(yahoo|gmail|msn|zoho|aim|aol|icloud|outlook|live|hotmail|mail|shortmail|bigstring|inbox|lavabit|facebook|myspace|mihanmail|mailfa|chapar|vatanmail|chmail|chaapaar)/";
if(!preg_match($hostings, $email)) $stop .= "<li>سرویس دهند ایمیل شما معتبر نمیباشد. لطفا از یک آدرس ایمیل معتبر استفاده کنید.</li>";
//EMAIL FILTER BY IMP
۲. کد زیر رو پیدا کنید:
به جای کد بالا، کد زیر رو قرار بدید:
آپدیت:
۱. فایل engine/modules/profile.php را باز کرده و کد زیر را پیدا کنید:
به جای کد بالا، کد زیر را قرار دهید:
$hostings = "/@(yahoo|gmail|msn|zoho|aim|aol|icloud|outlook|live|hotmail|mail|shortmail|bigstring|inbox|lavabit|facebook|myspace|mihanmail|mailfa|chapar|vatanmail|chmail|chaapaar)/";
if(!preg_match($hostings, strtolower(stripslashes( $_POST['email'] ) ))) $stop .= "<li>سرویس دهند ایمیل شما معتبر نمیباشد. لطفا از یک آدرس ایمیل معتبر استفاده کنید.</li>";
$email = $db->safesql(trim( str_replace( $not_allow_symbol, '', strip_tags( strtolower(stripslashes( $_POST['email'] ) ) ) ) ) );
//EMAIL FILTER BY IMP