یک سری کارهای ساده هست که در صورتی که آدم، آنها را جدی نگیرد مشکلات امنیتی ایجاد میکند یکی از اینکارها تغییر هرچیزی است که هنگام ساخت یک سایت وردپرسی یه صورت پیشفرض در نظر گرفته شده است مثل پیشوند نام جدولها در پایگاه داده وردپرس که به صورت پیشفرض مقدار ـwp را دارد، که هکر ها با استفاده از حملات خاصی از این مقدار پیشفرض میتوانند سوءاستفاده کنند و به سایت شما نفوذ کنند برای همین در هنگام نصب این مقدار را حتما تغییر دهید در صورتی که اینکار را در هنگام نصب انجام ندادهاید ادامه این مطلب را بخوانید تا یک راه حل برای تغییر پیشوند را فرابگیرید.
آماده سازی
به شما پیشنهاد میکنیم که حتما قبل از انجام دادن کارهای دیگر از پایگاه داده خود یک بکاپ بگیرید و یک صفحه برای وقتی که مراجعه کننده به سایت میاید و شما در حال تغییر پیشوند هستید بسازید که با اخطار وحشتناکی مواجه نشود که این کار را با افزونه Maintenance Mode میتوانید انجام دهید.
ویرایش wp-config.php
فایل wp-config.phpرا که در شاخه اصلی وردپرس بر روی هاست قرار دارد را باز کنید و خط table_prefix را بیابید و مقدار wp_ را به یک مقدار دلخواه مثل wp_a123456_ تغییر دهید:
$table_prefix = 'wp_a123456_';
مقدار جدید می تواند شما حروف، اعداد و خط underscore باشد.
تغییر پیشوند جدولها
خوب در این مرحله باید به پایگاه داده سایتتان دسترسی پیدا کنید و نام جدولها را به آنچه که در فایل wp-config.php نوشتید، تغییر دهید برای اینکار از ابزار phpMyAdmin استفاده میکنیم اگر از cPanel استفاده میکنید در قسمت databases به این ابزار میتوانید دسترسی پیدا کنید. بعد از بازکردن phpMyAdmin برروی نام پایگاه داده ای که به سایت وردپرسیتان اختصاص دادهاید، کلیک کنید تا جدولها نمایش داده شود.
۱۱ جدول به صورت پیشفرض در پایگاه داده وردپرس موجود است که تغییر دستی تک تک آنها حوصله می خواهد 🙂
با یک دستور SQL این تغییر میتوانید انجام دهید ابتدا گزینه SQL را انتخاب کنید(نشان داده شده در شکل بالا) و در آن کد زیر را وارد کنید فقط حواستان باشد که مقداری را که در فایل wp-config وارد کرده اید را با مقداری که در کد زیر است عوض کنید و اگر فیلد دیگری در جدول به خاطر افزونه ای وجود دارد را به دستور زیر اضافه نمایید.
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_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`;
جدول Options
در جدول options نیز ممکن است فیلدهایی با پیشوند wp_ وجود داشته باشد که باید آن هارا نیز تغییر دهید که اینکار را میتوانید دستی انجام دهید یا از دستور زیر استفاده کنید:
SELECT * FROM `wp_a123456_options` WHERE `option_name` LIKE '%wp_%'
البته این دستور فیلدها را به شما نمایش میدهد و شما باید یکی یکی تغییر دهید.
و در آخر جدول UserMeta را نیز مانند option باید ویرایش کنید که دستور پیدا کردن فیلد ها این هست:
SELECT * FROM `wp_a123456_usermeta` WHERE `meta_key` LIKE '%wp_%'
که با توجه به تعداد افزونه هایی که نصب کردید فیلدهایی که wp _ در آن به کار رفته باشد را نمایش می دهد که شما دستی آنها را باید ویرایش کنید.
خوب اگر مراحل را به درستی طی کرده باشید سایت وردپرسی شما به درستی کار خواهد کرد و امنتر نیز شده است.