تغییر پیشوند پایگاه داده

تغییر پیشوند پایگاه داده وردپرس

دیتابیس word press مغز متفکر سایتهای وردپرسی شماست که بدلیل ذخیره شدن کلیه اطلاعات سایت, آنرا به هدفی جذاب برای هکرها تبدیل میکند. هرزنامه نویس ها و هکرها کدهای خودکاری را بمنظور sql injection اجرا‌ میکنند. متاسفانه بسیاری از‌ افراد تغییر پیشوند پایگاه داده وردپرس را در زمان نصب ورد‌پرس فراموش میکنند. همین موضوع زمینه را برای هکرها بمنظور هدف قرار دادن پیشوند پیش فرض wp_ فراهم میکند. هوشمندانه ترین روش بمنظور حفاظت از دیتابیس، تغییر پیشوند آن است که‌ براحتی در زمان طراحی سایت میتوانید آنرا انجام دهید. اما تغییر صحیح پیشوند دیتابیس ورد‌پرس در سایتی که از قبل طراحی شده است بدون اینکه مشکلات اساسی در سایت ایجاد گردد، نیازمند رعایت چندین مرحله می‌باشد.

پیش نیاز :
پیشنهاد میگردد قبل از انجام هر کاری از دیتابیس وردپرس خود backup بگیرید. مهم است که backup روزانه از سایت خود داشته باشید که برای اینکار استفاده از پلاگین Backup Buddy می تواند روش خوبی باشد. پیشنهاد بعدی redirect کردن بازدیدکنندگان به یک صفحه maitenance موقت است.

همچنین شما می توانید از طریق آموزش زیر از کل وبسایت خود فول بکاپ تهیه کنید:

فول بکاپ از سایت

‌تغییر جدول پیشوند در wp-config.php

فایل wp-config.php را که در دایرکتوری root وردپرس قرار دارد باز کنید. خط پیشوند جدول را از wp_ به چیزی مانند wp_a12345_ تغییر دهید.

$table_prefix = ‘wp_a123456_’;

بنابراین خط پیشوند بصورت زیر نمایش داده خواهد شد. توجخ داشته باشید که تنها میتوانید از حروف، اعداد و یا _ استفاده کنید.

‌تغییر نام تمامی جداول دیتابیس

شما به احتمال زیاد از طریق phpMyAdmin نیاز دارید که به دیتابیس خود دسترسی داشته باشید تا بتوانید اسامی جداول را‌ به عنوانی که در wp-config.php تعیین کرده بودید، تغییر دهید. اگر از cpanel wordpress hosting استفاده میکنید میتوانید لینک phpMyAdmin را در cpanel بیابید. به تصویر زیر نگاه کنید:

در مجموع ۱۱ جدول پیش فرض در wordpress وجود دارد لذا تغییر دستی تک تک آنها ساده به نظر نمیرسد.

برای انجام سریع این تغییرات میتوانید از یک sql query استفاده کنید.

RENAME table `wp_commentmeta` TO `wp_a123456_commentmeta`;
RENAME table `wp_comments` TO `wp_a123456_comments`;
RENAME table `wp_links` TO `wp_a123456_links`;
RENAME table `wp_options` TO `wp_a123456_options`;
RENAME table `wp_postmeta` TO `wp_a123456_postmeta`;
RENAME table `wp_posts` TO `wp_a123456_posts`;
RENAME table `wp_terms` TO `wp_a123456_terms`;
RENAME table `wp_termmeta` TO `wp_a123456_termmeta`;
RENAME table `wp_term_relationships` TO `wp_a123456_term_relationships`;
RENAME table `wp_term_taxonomy` TO `wp_a123456_term_taxonomy`;
RENAME table `wp_usermeta` TO `wp_a123456_usermeta`;
RENAME table `wp_users` TO `wp_a123456_users`;

ممکن است در خصوص سایر پلاگینهایی که جداول خودشان را به دیتابیس وردپرس اضافه میکنند، مجبور باشید خطوطی به query اضافه کنید. هدف تغییر تمامی پیشوندهای جداول به چیزی است که شما میخواهید.

جدول options 

ضروری است جدول options table را برای یافتن هر فیلدی که از‌ wp_ بعنوان پیشوند استفاده میکند، جستجو کنید تا بتوانید آنرا جایگزین کنید. برای تسریع این فرایند میتوانید از این query استفاده کنید:

SELECT * FROM `wp_a123456_options` WHERE `option_name` LIKE '%wp_%'

میتوانید براحتی به نتایج query فوق مراجعه کرده و تغییرات لازم را اعمال کنید.

‌جدول usermeta

در مرحله بعد ضروری است جدول usermeta را برای یافتن هر فیلدی که از‌ wp_ بعنوان پیشوند استفاده میکند، جستجو کنید تا بتوانید آنرا جایگزین کنید. برای این کار از sql query زیر استفاده کنید:

SELECT * FROM `wp_a123456_usermeta` WHERE `meta_key` LIKE ‘%wp_%’

تمامی پیشوندهای wp_ را به پیشوند جدید تغییر دهید.

‌بک آپ بگیرید و تمام!!

بهتر است بعد از تغییر پیشوند پایگاه داده وردپرس یک بک آپ جدید از دیتابیس جدید خود بگیرید. اکنون میتوانید سایت خود را تست کنید.

درحال ارسال
امتیاز دهی کاربران
5 (2 رای)
0 پاسخ

دیدگاه خود را ثبت کنید

تمایل دارید در گفتگو شرکت کنید؟
نظری بدهید!

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.