فهرست محتوا
تغییر آدرس ورورد وردپرس یک قدم امنیت کوچیک برای وبسایت وردپرسی شماست. اگر با وردپرس آشنایی داشته باشید میدونید که آدرس صفحه ورود وردپرس به صورت پیش فرض چیزی شبیه به آدرس زیر:
domain.com/wp-login.php
اما چطور میشه این آدرس رو تغییر داد. طوری که فقط خودمون بدونیم آدرس ورود وردپرس به چه صورته؟
طبیعتا یکی از روش ها استفاده از افزونه است. اما در این مطلب قصد دارم تا به شما آموزش بدم چطور بدون استفاده از افزونه و با کمی کدنویسی، URL پیش فرض ورود به پیشخوان وردپرس رو تغییر بدید. با من همراه باشید.
تغییر آدرس ورورد وردپرس با استفاده از فایل wp-login.php
در ادامه، به شما نشان خواهم داد که چطورآدرس ورود به سیستم رو از www.domain.com/wp-login.php به www.domain.com/mylogin.php تغییر بدید.
البته مسیر انتخابی با شماست.
مرحله اول: بک آپ گرفتن از فایل wp-login.php
وقتی وارد مسیر روت(root) سایت بشید، فایل wp-login.phpرو میتونید پیدا کنید. اول از هرچیز از این فایل یک نسخه بک اپ بگیرید. کافیه دانلودش کنید.
این فایل برای وقتی استفاده میشه که به هر دلیلی بخواید تمام تغییراتی که در آینده خواهیم داد رو بیخیال بشید و نیاز دارید تا همه چیز به شرایط عادی خودش برگرده.
مرحله 2: تغییر نام فایل wp-login.php
خوب بعد اینکه یه نسخه از فایل wp-login.php رو کپی گرفتید و در جای دیگه ای ذخیره کردید، حالا نوبت به تغییر نام فایل میرسه.
کافیه نام فایل wp-login.php رو به هر نامی که دلتون می خواد تغییر بدید. من اسم فایل رو به mylogin.php تغییر میدم.
نکته مهم: حتما از نامهای غیرقابل حدس استفاده کنید. من برای اینکه آموزش راحت تر بشه کلمه mylogin رو انتخاب کردم. شما میتونید اسم هایی مثل BaRfT34y.php یا چیزهایی شبیه به این رو انتخاب کنید.
مرحله 3 : همه ارجاعات به آدرس قبلی رو تغییر بدید
خوب حالا باید در همه جاهایی که برای ورود آدرس wp-login.php رو آدرس دهی می کردند رو به آدرس جدید رو جایگزین کنیم.
فرقی نداره از چه نرم افزاری برای ویرایش کد ها استفاده کنید. همه اون ها قابلیت Find & Replace (یافتن و جایگزینی) رو دارن.
فایل جدید یا همون mylogin.php رو باز کنید و هرجا که عبارت wp-login.php وجود داره رو به mylogin.php تغییر بدید.
وقتی همه تغییرات انجام شد (14 قسمت باید تغییر کنه . البته در نسخه فعلی وردپرس یعنی 6.4.2) فایل رو ذخیره کنید.
مرحله 4 : قلاب های فیلتر خروج از سیستم و رمز عبور گم شده را به Functions.php اضافه کنید
به طور پیش فرض ، وردپرس برای ورود به سیستم کاربر از فایل wp-login.php استفاده می کنه.
یعنی حتی اگر فایلی رو که برای ورود به وب سایت استفاده می کنید تغییر بدید، وردپرس همچنان سعی می کنه از فایل wp-login.php برای خروج شما استفاده کنه.
بهترین راه برای حل این مشکل استفاده از قلاب فیلتر logout_url است چراکه به شما امکان میده URL ایی رو که کاربر بعد از خروج از سیستم به اون هدایت می شه رو تغییر بدید.
همچنین می تونید از LostPassWord_URL استفاده کنید تا اطمینان حاصل کنید که URL رمز عبور از دست رفته در فرم ورود به وردپرس به درستی تنظیم بشه.
برای استفاده از این قلاب ها، تنها کاری که باید انجام بدید اینه که کد زیر رو کپی کنید و در فایل functions.php قالب خودتون قرار بدید.
مطمئن بشید کهmylogin رو به مسیر ورود به سیستمی که استفاده می کنید تغییر بدید.
این کد به درستی کاربر رو از سیستم خارج می کنه و اونها رو به صفحه ورود جدید شما بر میگردونه.
// Filter & Function to rename the WordPress logout URL add_filter( 'logout_url', 'my_logout_page', 10, 2 ); function my_logout_page( $logout_url) { return home_url( '/mylogin.php'); // The name of your new login file } // Filter & Function to rename Lost Password URL add_filter( 'lostpassword_url', 'my_lost_password_page', 10, 2 ); function my_lost_password_page( $lostpassword_url ) { return home_url( '/mylogin.php?action=lostpassword'); // The name of your new login file
فایل functions.php در مسیر wp-content/themes قرار داره. در این مسیر پوشه مربوط به پوسته یا قالبتون رو پیدا کنید.
درون پوشه پوسته فایل functions.php رو پیدا می کنید و میتونید در انتهای این فایل کد بالا رو قرار بدید.
مرحله 5 : صفحه ورود رو تست کنید
اگه همه مراحل بالا رو به دقیت انجام داده باشی، مسیر ورودت عوض شده. برای ثمال تبدیل شده به:
domain.com/mylogin.php
تست کنید ببینید فرم ورود به درستی کار میکنه یا نه. اگه درست کار کرد که هیچ وگرنه تو بخش کامنت ها با من در ارتباط باشید تا راهنماییتون کنم.
تغییر آدرس ورود با فیلتر login_URL
لازم نیست برای تغییر مسیر ورود حتما اسم فایل رو تغییر بدی. میتونی با فیلتر login_url آدرس ورود رو تغییر بدی!
به کد زیر نگاه کن
// Filter & Function to rename the WordPress login URL add_filter( 'login_url', 'my_login_page', 10, 3 ); function my_login_page( $login_url, $redirect, $force_reauth ) { $login_page = home_url( '/mylogin.php' ); // The name of your new login file $login_url = add_query_arg( 'redirect_to', $redirect, $login_page ); return $login_url; }
این فیلتر دوتا چیز رو تغییر میده:
- فایل لاگینی که کاربران موقع ورود به اون هدایت میشن
- URL که کاربرها زمان جست و جوی wp-admin به اون هدایت میشن.
بدونید که اگه کاربری در وردپرس لاگین نکرده باشه و آدرس domain.com/wp-admin رو سرچ کنه، به خودی خود به آدرس domain.com/wp-login.php هدایت میشه.
وقتی قصد داریم آدرس ورود رو تغییر بدیم، کاربران باید به آدرس جدید تغییر مسیر بدن.
به این ترتیب، اگر من از قلاب فیلتر login_url با فایل mylogin.php استفاده کنم، هر کسی که به /wp-admin/ دسترسی داشته باشد به طور خودکار به صفحه ورود جدید من هدایت می شود.
کافیه فایل بالا رو به functions.php اضافه کنید.
تغییر URL ورود با ویرایش فایل htaccess.
وب سرورهایی که از آپاچی استفاده می کنند، به شما این امکان رو میدن تا با استفاده از فایلی با نام .htaccess
بتونید تنظیمات سرور رو تغییر بدید.
با این فایل میتونید تغییر مسیرهایی ایجاد کنید که به صورت دائمی و بدون نیاز به تغییرات در کدهای وردپرس آدرس ورود رو تغییر بدید!
قبل از هر چیز اول یه نسخه بک آپ از این فایل بگیرید. این فایل در روت سایت شما (همونجایی که فایل wp-login.php قرار داره) وجود داره و ممکنه مخفی hidden باشه. کافیه از طریق تنظیمات cpanel یا Directadmin اون رو از حالت مخفی در بیارید.
خوب میدونیم که آدرس ورود پیش فرض به یک سایت وردپرسی چیزی شبیه به اینه:
domain.com/wp-login.php
حالا ما قصد داریم تا آدرس ورود رو به چیزی شبیه به این تغییر بدیم:
domain.com/login
کافیه کد زیر رو درون .htaccess
قرار بدم.
RewriteRule ^login$ http://example.com/wp-login.php [NC,L]
خوب بریم سراغ کد:
- علامت ^ در واقع آدرس URL مسیری که فایل
.htaccess
هست رو بر میگردونه. یعنیhttps://domain.com/
رو بر میگردونه. - علامت $ به ماشین میفهمونه همینجا توقف کنه. در واقع
^
login
$
آدرسhttps://domain.com/
login رو بر میگردونه. یعنی اول^
با علامت آدرس اصلی سایت رو می نویسه بعد login رو بهش میچسبونه و بعد با$
دیگه بقیه آدرس رو کات میکنه. - یه فاصله میندازیم، بعد از فاصله، URL مد نظرمون رو می نویسم. یعنی URL قبلی رو می نویسیم تا به URL جدید تغییر مسیر بده.
- در انتها پرچم های NC و L رو قرار میدیم. NC مخفف عبارت No Case هست. به این معنی که آدرس به حروف کوچیک بزرگ حساس نباشه. فرضا فرقی نداره آدرس ورود رو با حروف بزرگ یا کوچک انگلیسی بنویسید. حرف L یعنی Last یا آخرین. یعنی بعد از پردازش این آدرس هیچ فایل یا آدرس دیگه ای پردازش نشه و قرار دادن این حرف مهمه!
- این کد تغییر مسیر ایجاد نمیکنه. بلکه مسیر ورود رو کلا باز نویسی میکنه که کار تمیزیه! اگر قصد دارید تغییر مسیر بدید میتونید یه پرچم R به معنی Redirect یا تغییر مسیر رو هم اضافه کنید.
نکته مهم: تغییر مسیر ورود پیش فرض وردپرس ایده خوبی نیست!
ایده تغییر مسیر ورود به این دلیله که با تغییر مسیر ورود پیش فرض، مانع دسترسی هکر به صفحه ورود و حملات بورت فورث بشیم، اما این موضوع چندان هم در امنیت شما اثر گذار نیست!
برای مثال افزونه وردفنس (بهترین افزونه امنیتی وردپرس)، قابلیتی برای تغییر مسیر ورود پیش فرض وردپرس نداره! یعنی اصلا اعتقادی به این موضوع نداره و معتقد که تغییر مسیر ورود چندان امنیت سایت رو افزایش نمیده!
افزونه دیگه، ithemes security، در مقابل چنین گزینه ای داره اما بیان میکنه که این مورد تاثیر زیادی روی امنیت سایت شما نداره!
از نظر وردفنس، تغییر مسیر ورود پیش فرض ممکنه موجب تداخل در عملکرد یکی سری از افزونه های دیگه یا قالب ها بشه!
خوب نتیجه چیه؟ تغییر مسیر ورود امنیت سایت رو چندان تغییر نمیده و تا زمانی که مشکل ایجاد نکرده بهتره از این تغییر آدرس ورود پیش فرض استفاده کنید!
سوالات متداول
آیا وردپرس به شما اجازه می دهد URL ورود را تغییر دهید؟
وردپرس به صورت خودکار چنین قابلیتی ندارد اما می توانید با روش هایی که گفته شد (افزودن قلاب، استفاده از htaccess یا افزونه) آدرس ورود رو تغییر بدید.
بهترین روش تغییر مسیر ورود پیش فرض چیه؟
هر روشی که در این مقاله گفته شد مزایا و معایب خودش رو داره! اگه توانایی کدنویسی ندارید یا چندان حرفه ای نیستید، بهتره از افزونه برای این کار استفاده کنید.
آیا روش های بالا باعث تداخل با قالب ها یا افزونه ها میشن؟
به احتمال زیاد خیر! اما اگر هم خطایی رخ داد همه چیز به حالت عادی برگردانید.
اگر URL ورود جدید خود را فراموش کنم چه می شود؟
بهتره فراموش نکنید، اما اگر فراموش کردید بهتره مراحلی که برای تغییر URL طی کردید به عقب برگردید. اگر با افزونه تغییر ایجاد کردید با ورود به هاست، نام پوشه افزونه رو تغییر بدید تا افزونه غیرفعال بشه و آدرس ورودتون به حالت قبلی خودش برگرده
این مطالب رو از دست ندید: