stop-spam-photo.png
stop-spam-photo.png

আসসালামু আলাইকুম,

কেমন আছেন সবাই?

আশা করি ভাল আছেন? আজ আপনাদের সাথে আলোচনা করবো আপনার সাইটে কিভাবে রেজিষ্ট্রেশন করার জন্য ই-মেইল নির্দিষ্ট করে দিবেন? যে, ঐ ডোমেইনের ই-মেইল ছাড়া অন্য কোন কোম্পানির ই-মেইল দিয়ে রেজিষ্ট্রেশন করতে পারবে না। যেমনঃ- gmail.com, yahoo.com, live.com ইত্যাদি। আশা করি সকলেই spam সম্পর্কে জানেন, এটা সম্পর্কে তেমন কিছু বলব না, একদম অল্প কথায় বুঝলাম এটি একটি ক্ষতিকারক জিনিষ, যাদের ওয়েব সাইট আছে তারা আশা করি এটা সম্পর্কে অবগত আছেন, এবং যাদের ওয়েব সাইট নেই তারা অন্তত নাম শুনেছেন। আপনি একটি নতুন ওয়েব সাইট তৈরী করেছেন দেখা যাবে কিছু দিনের মধ্যে আপনার ওয়েব সাইটে 50+ পোষ্ট হয়েছে এবং প্রতি নিয়ত পোষ্ট হতেই আছে, সেই পোষ্ট এর নাম এবং ভিতরের লেখা পড়তে যাবেন তো আপনি কিছুই বুঝবেন না। কারণ, এটা কি লিখেছে সে নিজেও মনে হয় জানে না। আপনার ওয়েব সাইটে প্রতিনিয়ত রেজিষ্ট্রেশন হতে দেখেবেন hotmail.com থেকে। hotmail এর ই-মেইল দিয়ে বেশি spam করা হয়, তাই আপনি চাইলে hotmail.com বন্ধ করে দিতে পারেন, আমার ওয়েব সাইটে এই রকম প্রতিনিয়ত রেজিষ্ট্রেশন করে অনেক spam করত, তখন আমি নির্দিষ্ট করে দেই যে, আমার ওয়েব সাইটে কি কি ই-মেইল দিয়ে রেজষ্ট্রেশন করতে পারবে। আপনি এটা যেভাবে করবেন আপনি আপনার থিম ফোল্ডারে যান এবং functions.php ফাইলটি ওপেন করুন, এবার একদম নিচে ?> কোডটির উপরে আমার দেয়া কোডটি পেষ্ট করুন,

 

———————————————————————————

/**
* @author Bashar
* @param WP_Error $errors
* @param string $sanitized_user_login
* @param string $user_email
* @return WP_Error $errors
*/
function mh_check_email_provider($errors, $sanitized_user_login, $user_email){
// Allowed Email provider. Must include extention
$allowed_provider = array('yahoo.com', 'gmail.com', 'ymail.com', 'live.com', 'msn.com');

// Get users email provider
$user_mail_provider = substr($user_email, strpos($user_email, '@')+1);
// Check if users email provider is allowed
if(in_array($user_mail_provider, $allowed_provider)){
// Allowed provider:)
// Return unchanged $erorrs
return $errors;
}
// Provider not allowed :(
// Add error code and return
$errors->add( 'restricted_emial_provider', __( '<strong>ERROR</strong>: We only support ' . implode(', ', $allowed_provider) ) );
return $errors;
// That's it
}
add_filter('registration_errors', 'mh_check_email_provider', 100, 3);

—————————————————————————–

 

 

 

এডিট করুন: $allowed_provider = array(‘yahoo.com’, ‘gmail.com’, ‘ymail.com’, ‘live.com’, ‘msn.com’); এই লাইনে দেখুন কিছু ই-মেইল কোম্পানির নাম দেয়া আছে  এখানে যেই নাম গুলো দেয়া আছে সেই সকল ই-মেইল দিয়ে আপনার সাইটে রেজিষ্ট্রশন করতে পারবে, আপনি চাইলে এখান থেকে কমিয়ে বা বাড়িয়ে দিতে পারেন, আপনি যদি আরো কোন ই-মেইল কোম্পানি এ্যাড করতে চান তাহলে শুধু শেষে ) চিহ্ন টির আগে একটি কমা দিয়ে দুইটি কোটেশন ‘’ দিয়ে ডোমেইন লিখুন, যেমনঃ আমি যদি msn.com এর পরে নতুন আরো একটি এ্যাড করতে চাই তাহলে ‘msn.com’, ‘hotmail.com’ ইত্যাদি।

আপনার ওয়েব সাইটে ক্যাপচা প্লাগিন ব্যবহার করুন, এতে অনেক spam বন্ধ হবে, এতে বলা যেতে পারে আপনার সাইটে সকল spam বন্ধ হয়ে যাবে। ধন্যবাদ।

চাইলে পেষ্ট বিন থেকেও কোডটি নিতে পারেন http://pastebin.com/VT6ETsnq

ভাল লাগলে কমেন্টে জানাতে ভুলবে না…

ভুলে ভরা জীবনে ভুল হওয়াটা অসম্ভব কিছু নয়,যদি আমার লেখার মাঝে কোন ভুল-ত্রুটি থাকে ক্ষমার দৃষ্টিতে দেখবেন। ধন্যবাদ সবাই ভাল থাকবেন।