تغییر یا مخفی کردن خطای فرم لاگین
مقالات وردپرسچگونه با مدیریت خطاهای پیشفرض وردپرس در قسمت ورود به حساب کاربری ، امنیت بیشتری را برای سایت خود تامین کنیم ؟ سادهترین روشهای ممکن جهت تغییر یا مدیریت پیغامهای خطای وردپرس !!!

حتما اکثر شما با صفحه ورود و ثبت نام وردپرس هنگام ورود به قسمت پیشخوان از طریق آدرس wp-login.php و یا wp-admin روبرو شدهاید و هنگام ورود اطلاعات اشتباه ، پیام خطای پیش فرض وردپرس را مشاهده کردهاید. در این آموزش قصد داریم با نحوه سفارشی سازی این پیام خطا و همچنین دلیل اصلی تغییر این متن پیش فرض آشنا شویم .
البته برای امنیت بیشتر ، ابتدا بهتر است آدرس صفحه ورود به قسمت مدیریت را تغییر دهید که قبلا درمورد آن بسیار صحبت شده است ، اما اگر به هر دلیل ، آدرس صفحه لاگین تغییر نکرد و یا توسط شخصی به آن دسترسی ایجاد شد ، تغییر یا مدیریت پیغامهای خطا حتما ضروری است !!
چرا باید متن پیشفرض خطای فرم ورود وردپرس را تغییر دهیم ؟؟
یکی از سوالاتی که شاید در ذهن شما مطرح شود این است که آیا تغییر این متن ضروری است یا خیر ؟ در جواب این سوال باید اشاره کنیم هکرها و کرکرها میتوانند با استفاده از این بخش ، اقدام به کشف نام کاربری و در نهایت نفوذ و رخنه به سایت شما کنند . اما هکرها چگونه از این پیامهای خطای به ظاهر ساده میتوانند بهره برداری لازم را داشته باشند .
در وهله اول بصورت تئوری با نحوه نفوذ کردن به سایت از طریق فرم لاگین با استفاده از تست پسوردهای مختلف آشنا شویم . نحوه کار به این شکل است که پس به دست آوردن یکی از نام کاربریهای موجود در سایت ، با استفاده از رباتها اقدام به تست میلیونها رمز عبور مختلف موجود در فایل لیست پسورد از قبل آماده شده میکنند و ممکن است یکی از رمز عبورهای موجود در پسورد لیست با نام کاربری وارد شده منطبق باشد و به همین راحتی میتوانند وارد سایت شما شوند . البته برای افزایش امنیت میتوانید از کد امنیتی و یا کپچا استفاده کنید .
اما قبل از هر چیز چگونه میتوان نام کاربری که در سایت است را به دست آورد ؟ این کار میتواند از طریق روشهای مختلف انجام شود برای مثال در برخی موارد در قسمت کامنتها و یا نوشتهها نام کاربری اصلی کاربر نوشته میشود و از این طریق میتوان نام کاربری را بدست آورد .
برای حل این مشکل میتوان از قسمت شناسه در قسمت ویرایش حساب کاربری در وردپرس ، نام قابل نمایش را برای کاربرهای مدیر تغییر داد . علاوه بر روش ذکر شده فرم ورود و ثبت نام نیز میتواند یکی از محلهایی باشد که میتوان به راحتی موجود بودن و یا نبودن نام کاربری در سایت را کشف کرد !!
برای این کار کافیست همانند روش قبل این بار از لیستی که نامهای کاربری ادمین متداول مختلف را در خود دارد و از قبل آماده شده است استفاده کرد و یک رمز ساده نیز برای آن در نظر گرفت زمانی که شما اقدام به وارد کردن تک تک نامهای کاربری آماده میکنید میتوانید با چند سناریو متفاوت روبرو شوید که در زیر تک تک آن ها را بررسی میکنیم !!!
نام کاربری در سایت موجود نباشد !!
زمانیکه شما یک نام کاربری را وارد میکنید ، در صورتیکه نام کاربری وارد شده در سایت موجود نباشد پیام عدم وجود نام کاربری وارد شده در سایت نمایش داده میشود که در زیر میتوانید تصویر این پیام خطای پیشفرض وردپرس را مشاهده کنید .
نام کاربری موجود باشد و رمز عبور صحیح نباشد :
هنگامی که نام کاربری در سایت موجود باشد و رمز عبور وارد شده صحیح نباشد پیام خطایی مبنی بر اشتباه بودن رمز عبور برای کاربر وارد شده در سایت نمایش داده میشود که در زیر تصویر این خطا قرار داده شده است :
نام کاربری و رمز عبور وارد شده صحیح باشد :
در سناریو نهایی زمانیکه نام کاربری در سایت موجود باشد و رمز عبور وارد شده نیز با نام کاربری مطابقت داشته باشد با موفقیت وارد قسمت پیشخوان وردپرس می شوید . اما بیایید دوباره سراغ هکر خود برگردیم ! هکر ما برای اینکه متوجه شود آیا نام کاربری در سایت موجود است یا نه در ابتدا اقدام به تست تک تک نامهای کاربری توسط رباتها میکند .
هنگامی که با پیام اول مبنی بر عدم وجود نام کاربری در سایت مواجه میشود اقدام به تست نام کاربری بعدی میکند این کار را تا زمانی انجام میدهد تا پیام دوم که همان اشتباه بودن رمز عبور است را مشاهده کند . در این شرایط هکر ما متوجه میشود این نام کاربری در سایت مورد نظر وجود دارد و اکنون زمان آن رسیده است که اقدام به تست رمزهای مختلف برای نام کاربری موجود در سایت کند .
این کار تا زمانی انجام میشود که یک نام کاربری و رمز عبوری با یکدیگر مطابقت داشته باشند و وارد قسمت پیشخوان وردپرس شود . همه این کارها توسط رباتهای نرم افزاری انجام میشوند و کافیست لیست نام کاربریها و رمز عبورهایی که میخواهید تست شوند را وارد نرم افزار کنید تا به سرعت شروع به تست و نفوذ در سایت قربانی کنند .
اکنون شاید شما علاقه داشته باشید متن این پیام را شخصی سازی کنید و پیام دلخواه خودتان را نمایش دهید به هر دلیلی که قصد انجام این کار را دارید میتوانید به راحتی و با استفاده از قطعه کد زیر پیام دلخواه خودتان را قرار دهید برای این کار کافیست در فایل توابع اصلی قالب که همان فایل functions.php است کدهای زیر را براساس شرایط وارد کنید :
add_filter('wp_login_errors',function($errors) {
if (isset($errors->errors['invalid_username'])) {
unset($errors->errors['invalid_username']);
$errors->add('invalid_username', "The information is wrong.");
}
if (isset($errors->errors['incorrect_password'])) {
unset($errors->errors['incorrect_password']);
$errors->add('incorrect_password', "The information is wrong.");
}
return $errors;
} );
همانطور که از کدهای بالا مشخص است زمانیکه نام کاربری وارد شده در سایت موجود نباشد پیام خطای ” نام کاربری وارد شده اشتباه است ” نمایش داده میشود و زمانیکه رمز عبور با نام کاربری وارد شده مطابقت نداشته باشد پیام خطای ” رمز عبور وارد شده اشتباه است ” نمایش داده میشود .
نکته اصلی که در این کد وجود دارد امکان تشخیص نام کاربری توسط هکرها است که برای افزایش امنیت توصیه میشود پیام خطای نام کاربری و رمز عبور را یکسان بگذارید برای مثال بنویسد ” اطلاعات وارد شده صحیح نمی باشد ” پس باید کد بالا را به این شکل تغییر دهید . یا میتوانید از کد زیر استفاده کنید تا همه خطاهای موجود در فرم ورود را تغییر دهید :
add_filter( 'login_errors',function (){
return 'The information is wrong.';
} );
با وارد کردن کد بالا هر خطایی که در فرم ورود وردپرس وجود داشته باشد به جای همه آن ها پیام ” اطلاعات واد شده معتبر نمی باشد ” نمایش داده خواهد شد .
در این مقاله با نحوه افزایش امنیت فرم ورود وردپرس و تغییر پیغام خطای پیش فرض فرم ورود وردپرس آشنا شدیم البته لازم به ذکر است که باید همین کار را نیز برای بخش فراموشی رمز عبور و ثبت نام نیز انجام دهیم که همه این موارد و صدها نکات امنیتی مختلف در دوره نابغه امنیت ( دوره آموزش افزایش امنیت سایت ) به صورت مفصل مورد بررسی و تحلیل قرار گرفته است . پاینده باشید .