در دنیای دیجیتال امروز، امنیت وبسایتها یکی از مهمترین دغدغههای مدیران سایتها و توسعهدهندگان است. وردپرس به عنوان یکی از محبوبترین سیستمهای مدیریت محتوا (CMS) در جهان، بهطور گستردهای مورد استفاده قرار میگیرد. با این حال، استفاده گسترده از وردپرس به این معناست که هکرها و مهاجمان نیز به دنبال نقاط ضعف در این سیستم هستند تا از آنها بهرهبرداری کنند. یکی از راههای اصلی برای بهبود امنیت سایتهای وردپرسی، مخفی کردن و تغییر آدرس پیشفرض صفحه ورود به مدیریت است.
به صورت پیشفرض، آدرس ورود به مدیریت وردپرس از طریق مسیرهای `/wp-admin/` و `/wp-login.php` قابل دسترسی است. این آدرسهای شناختهشده میتوانند هدف حملات بروتفورس و تلاشهای ناموفق ورود قرار گیرند. بنابراین، تغییر این آدرسها و جلوگیری از دسترسی به آنها میتواند به کاهش احتمال حملات و بهبود امنیت کلی سایت کمک کند.
در این مقاله، به بررسی نحوه تغییر آدرس ورود به مدیریت وردپرس پرداخته و کدی را معرفی خواهیم کرد که با استفاده از آن، کاربران و رباتهایی که قصد دسترسی به آدرسهای پیشفرض را دارند، به صفحه اصلی سایت هدایت میشوند. این اقدام ساده، میتواند به شما کمک کند تا سطح امنیت سایت خود را بهطور قابلتوجهی افزایش دهید و از حملات مخرب جلوگیری کنید.
آموزش تغییر لینک ورود مدیریت به مدیریت سایت
برای انجام این کار، میتوانید کد زیر را به فایل functions.php
قالب فعال خود اضافه کنید. این کد به گونهای طراحی شده است که وقتی کاربر سعی میکند به /wp-admin/
یا /wp-login.php
دسترسی پیدا کند، به صورت خودکار به صفحه اصلی سایت شما ریدایرکت شود. فقط مسیر جدید ورود را به صورت دستی وارد میکنید و هیچ گونه صفحه لاگین از طریق آدرسهای پیشفرض نمایش داده نمیشود.
// Change login page add_action('init', 'redirect_login_and_admin'); function redirect_login_and_admin() { // مسیر جدیدی که برای صفحه ورود میخواهید استفاده کنید $new_login_url = '/vorod'; // اگر آدرس درخواست شده wp-login.php یا wp-admin بود و کاربر وارد نشده بود if ((strpos($_SERVER['REQUEST_URI'], 'wp-login.php') !== false || strpos($_SERVER['REQUEST_URI'], 'wp-admin') !== false) && !is_user_logged_in()) { wp_redirect(home_url()); // ریدایرکت به صفحه اصلی exit; } // اگر کاربر به مسیر جدید ورود درخواست داد if ($_SERVER['REQUEST_URI'] == $new_login_url) { require_once ABSPATH . 'wp-login.php'; exit; } }
توضیحات کد
$new_login_url = '/vorod';
- این خط مسیر جدیدی را که برای ورود میخواهید استفاده کنید، تعریف میکند. شما میتوانید آن را به هر چیزی که دوست دارید تغییر دهید، مثلاً
/custom-login
.
- این خط مسیر جدیدی را که برای ورود میخواهید استفاده کنید، تعریف میکند. شما میتوانید آن را به هر چیزی که دوست دارید تغییر دهید، مثلاً
if (strpos($_SERVER['REQUEST_URI'], 'wp-login.php') !== false || strpos($_SERVER['REQUEST_URI'], 'wp-admin') !== false)
- این شرط بررسی میکند که آیا کاربر سعی دارد به
/wp-login.php
یا/wp-admin
دسترسی پیدا کند یا خیر. اگر چنین باشد و کاربر هنوز وارد نشده باشد (!is_user_logged_in()
)، او به صفحه اصلی سایت (home_url()
) ریدایرکت میشود.
- این شرط بررسی میکند که آیا کاربر سعی دارد به
if ($_SERVER['REQUEST_URI'] == $new_login_url)
- اگر کاربر به مسیر جدیدی که برای ورود تعریف کردهاید (مثلاً
/vorod
) دسترسی پیدا کند، صفحه ورود استاندارد وردپرس نمایش داده میشود.
- اگر کاربر به مسیر جدیدی که برای ورود تعریف کردهاید (مثلاً
wp_redirect(home_url());
- این تابع کاربر را به صفحه اصلی سایت ریدایرکت میکند.
نتیجه نهایی
پس از اعمال این تغییرات:
- اگر کسی سعی کند به
/wp-admin
یا/wp-login.php
دسترسی پیدا کند و وارد نشده باشد، مستقیماً به صفحه اصلی سایت ریدایرکت میشود. - تنها راه دسترسی به صفحه ورود از طریق مسیر جدیدی است که شما تعریف کردهاید (مثلاً
/vorod
).
نکات مهم
- یادآوری آدرس ورود جدید: حتماً مسیر جدید ورود را به خاطر بسپارید و آن را با سایر مدیران سایت به اشتراک بگذارید.
- پشتیبانگیری: قبل از اعمال تغییرات، یک نسخه پشتیبان از سایت تهیه کنید.
- امنیت: این کار سطح امنیت سایت شما را افزایش میدهد، اما استفاده از روشهای امنیتی دیگر مثل احراز هویت دومرحلهای و پلاگینهای امنیتی نیز توصیه میشود.