فراموش کردن پسورد ورود به پنل ادمین سایت‌های وردپرسی، یکی از مشکلات شایع مدیران سایت‌ها و طراحان وب است. اگر پسورد ورود به سایت مبتنی بر WordPress را فراموش کرده‌اید، از سه روش مختلف می‌توانید پسورد را ریست کنید.

در این مقاله نحوه‌ی ریست کردن پسورد از طریق MySQL و SSH و phpMyAdmin و همین‌طور لینک بازنشانی رمز عبور که به ایمیل کاربر ارسال می‌شود را بررسی می‌کنیم.

ریست کردن پسورد وردپرس به کمک MySQL

وردپرس یکی از نرم‌افزارهای مدیریت محتوا یا به اختصار CMS است که بر اساس PHP نوشته شده و از MySQL برای ذخیره کردن داده‌های سایت شامل متن پست‌ها و صفحات، پیکربندی وردپرس و افزونه‌های آن و موارد جزئی نظیر نام کاربری افراد و پسوردها استفاده می‌کند. بنابراین اگر پسورد سایت وردپرسی را فراموش کرده‌اید، جای نگرانی نیست چرا که می‌توانید جداول بانک داده را به صورت دستی تغییر بدهید و چک کنید و همین‌طور می‌توانید از دستوراتی ساده برای ریست کردن پسورد استفاده کنید.

توجه داشته باشید که پسوردها با استفاده از یکی از کتابخانه‌های PHP به اسم PHPass در بانک اطلاعاتی سایت ذخیره می‌شود ولیکن برای حفظ سازگاری، هش MD5 هنوز هم پذیرفته می‌شود. لذا تولید کردن پسورد جدید و جایگزین کردن آن به جای پسورد فراموش شده ساده خواهد بود.

اما مراحل کار: ابتدا می‌بایست دسترسی به MySQL‌ فراهم شود. اگر در سرور یا هاست سایت شما، دسترسی SSH یا به عبارت دیگر دسترسی به واسط خط دستور فراهم است، می‌توانید با استفاده از دستور زیر، در MySQL لاگین کنید:

mysql -u root -p

و سپس با استفاده از دستور زیر، جدول مربوط به WordPress را انتخاب کنید. دقت کنید که نام دیتابیس مربوط به سایت وردپرسی در فایل wp-config.php موجود است که در فولدر اصلی سایت روی هاست موجود است. می‌توانید این فایل را برای ویرایش توسط ادیتور متنی باز کنید و نام دیتابیس سایت را از آن کپی کرده و در دستور زیر جایگزین کنید. اگر به دلیلی نمی‌توانید این فایل را باز کنید، می‌توانید از دستور Show databases استفاده کنید تا لیستی از بانک‌های داده نمایش داده شود.

select DATABASE

اما اگر دسترسی به واسط خط دستور فراهم نبود، چه باید کرد؟ معمولاً در هاست‌های اشتراکی این دسترسی فراهم نیست.

در این صورت می‌توانید از phpMyAdmin برای چک کردن بانک‌های اطلاعاتی و همین‌طور جداول موجود در هر بانک داده استفاده کنید. بنابراین پس از ورود به کنترل پنل هاست، روی گزینه‌ی مربوط به phpMyAdmin کلیک کنید تا لاگین انجام شود. اکنون در کنار صفحه روی بانک داده‌ای که به سایت وردپرسی موردنظرتان مربوط می‌شود، کلیک کنید. سپس روی تب کوئری‌های MySQL کلیک کنید. در نهایت دستور زیر را با تغییراتی که در ادامه ذکر می‌کنیم، اجرا کنید:

UPDATE `wp_users` SET `user_pass` = MD5( 'NewPassWord' ) WHERE `wp_users`.`user_login` = "admin";

در دستور فوق به جای NewPassWord، رمز عبور جدید را جایگزین کنید و به جای admin نیز نام حساب کاربری ادمین که پسورد آن را فراموش کرده‌اید، قرار دهید. البته بیشتر افراد از نام کاربری ادمین برای مدیریت سایت وردپرسی استفاده می‌کنند اما برخی افراد برای امنیت بیشتر، حساب ادمین دیگری با نام متفاوت می‌سازند و از آن استفاده می‌کنند.

نکته‌ی دیگر این است که برخی افراد برای بهبود امنیت، پیشوند جداول بانک داده را از wp به چیز دیگری تغییر می‌دهند. در این صورت می‌بایست wp_users که نام جدول اطلاعات حساب‌های کاربری است را تغییر دهید.

اکنون می‌توانید MySQL را با کلید میانبر Ctrl + D یا بستن phpMyAdmin ببندید و پنل ورود به سایت را باز کنید. پسورد تغییر کرده است و می‌توانید از رمز عبور جدید برای لاگین استفاده کنید. وردپرس نیز هش جدیدی می‌سازد و دیتابیس را آپدیت می‌کند.

ریست کردن پسورد WordPress بدون استفاده از دیتابیس

ممکن است دسترسی به دیتابیس از طریق SSH و همین‌طور phpMyAdmin فراهم نباشد یا به هر علت نخواهید از این روش‌ها برای ریست کردن پسورد ادمین استفاده کنید. در این صورت یک راهکار دیگر وجود دارد و آن استفاده از نرم‌افزار مدیریت فایل است که در کنترل پنل هاست یا سرور نصب شده است. می‌توانید فایل توابع قالبی که در حال حاضر در سایت فعال است را تغییر دهید و آن را از طریق FTP یا از طریق نرم‌افزار مدیریت فایل هاست، آپلود و جایگزین فایل قبلی کنید.

بنابراین ابتدا مسیر زیر را باز کنید که در آن Theme-Name نام فولدر مربوط به قالب است:

/wp-content/themes/Theme-Name

فایلی به اسم functions.php در این مسیر موجود است. آن را دانلود کرده و ویرایش کنید و سپس آپلود کنید. اگر ویرایش مستقیم امکان‌پذیر است، می‌توانید آن را مستقیماً باز کرده و به صورت آنلاین، ویرایش کنید.

اما چه تغییری در فایل functions.php بدهیم تا بازنشانی پسورد انجام شود؟ برای این منظور در ابتدای فایل و پس از <?php، دستور زیر را پیست کنید و سپس فایل را ذخیره کنید:

wp_set_password( 'password', 1 );

دستور فوق باعث می‌شود که پسورد حساب کاربری که شناسه یا ID آن، عدد 1 است، ریست شود. اگر حساب دیگری مدنظر است یا حساب ادمین سایت وردپرسی شما، شناسه‌ی دیگری دارد، می‌بایست عدد مربوطه را جایگزین کنید.

اکنون با مراجعه به صفحه‌ی لاگین، پسورد ریست می‌شود. پس از ورود به سایت، دقت کنید که دستور فوق را از فایل functions.php‌ حذف کنید تا مرتباً پسورد ریست نشود.

بازنشانی پسورد به کمک ایمیل

ساده‌ترین روش ریست کردن پسورد ورود به سایت مبتنی بر WordPress، استفاده از ایمیل و لینک ریست کردن پسورد است که البته در صورت فعال بودن سرویس ارسال ایمیل قابل استفاده است.

مراحل کار ساده است: ابتدا در صفحه‌ی ورود، روی گزینه‌ی آیا پسورد خویش را فراموش کرده‌اید یا Lost your password? کلیک کنید.  به این ترتیب کادر ورود ایمیل ظاهر می‌شود. ایمیل مربوط به حساب خویش را وارد کنید و روی دکمه‌ی ارسال ایمیل نوسازی رمز عبور کلیک کنید. ایمیلی برایتان ارسال می‌شود که در آن لینک ریست کردن پسورد موجود است و می‌توانید با مراجعه به لینک موردبحث، پسورد جدیدی برای حساب کاربری خویش تنظیم کنید. این روش برای سایر کاربران و نویسندگان و مدیران سایت وردپرسی شما نیز کاربرد دارد.