همانطور که اطلاع دارید دیتابیس یک عامل اصلی برای اجرا شدن سایت وردپرسی است. همه اطلاعات اصلی مثل پسوردها، نام کاربری، اطلاعات نوشتهها و تنظیمات وردپرس شما در دیتابیس ذخیره خواهند شد. در کل میتوان دیتابیس را به عنوان مغز اصلی وردپرس شما معرفی کرد.
در هر صورت باید مواظب این مغز باشید چون بصورت متداول هکرها سعی میکنند با استفاده از SQL Injection در دیتابیس شما اقدام به تغییر اطلاعات سایتتان کنند. حالا باید کاری کنید که این SQL Injectionها روی سایت شما تاثیری نداشته باشد.
بهترین راه برای گول زدن هکر هم این است که مسیری که دنبال میکنند را تغییر دهید تا با بنبست روبرو شوند! حالا چطور و چگونه؟
تغییر پیشوند جداول وردپرس
اول اجازه دهید توضیح بدم که پیشوند جداول دیتابیس وردپرس دقیقا چیست؟ وقتی در حال نصب وردپرس هستید یک گزینه به نام پیشوند جداول به شما نمایش داده میشود که بصورت پیشفرض _wp است. شما اجازه تغییر آنرا به هر اسمی که دوست داشته باشید دارید. اگر خاطرتان باشد، قبلا در آموزش هایی به شما توصیه کردیم که این پشوند را تغییر دهید.
در واقع این پیشوندها قبل از نام جداول دیتابیس شما قرار خواهند گرفت و با تغییر آنها، مسیر کلی جداول دیتابیس تغییر خواهد کرد و این یعنی همان تغییر آدرس و به به بنبست خوردن هکر!
آموزش تغییر پیشوند جداول دیتابیس وردپرس
برای اینکار باید چند مرحله انجام شود که بصورت قدم به قدم به شما این مراحل را توضیح خواهم داد.
ابتدا از دیتابیس خود بک آپ بگیرید
اولین قدم این است که برای محکم کاری بیشتر، از دیتابیس خود بک آپ گیری کنید. برای اینکار میتوانید آموزش بک آپ گیری از وردپرس را ببینید.
تغییر پیشوند جداول در فایل wp-config.php
بعد از بک آپ گیری از دیتابیس وردپرس، وارد فایل wp-config.php شوید. این فایل در پوشه روت یا همان public_html سایت شما قرار دارد. آنرا با یک ویرایشگر باز کنید. در اینجا عبارت table_prefix را جستجو کنید. این عبارت در خطی شبیه به زیر وجود دارد.
$table_prefix = 'wp_';
حالا عبارت wp_ را به عبارت دیگری تغییر دهید. با اینکار عملا جداول شما از این آدرس خوانده میشود.
نکته: شما میتوانید از عدد، عبارت و _ در پیشوند استفاده کنید. عباراتی مثل $ یا % مجاز نیست!
تغییر پیشوند جداول دیتابیس از PHPMyAdmin
برای اینکار وارد کنترل پنل هاست خود شوید. اگر از سی پنل استفاده میکنید، وارد صفحه ورود سی پنل شوید. سپس روی PHPMyAdmin کلیک کنید.
وقتی وارد مدیریت دیتابیسها شدید، از سمت چپ دیتابیس وردپرس خود را انتخاب کنید. بعد از انتخاب دیتابیس، از بالای صفحه روی گزینه Sql کلیک کنید.
حالا این عبارت را در بخش SQL وارد کنید:
RENAME table wp_commentmeta TO mw_commentmeta; RENAME table wp_comments TO mw_comments; RENAME table wp_links TO mw_links; RENAME table wp_options TO mw_options; RENAME table wp_postmeta TO mw_postmeta; RENAME table wp_posts TO mw_posts; RENAME table wp_terms TO mw_terms; RENAME table wp_termmeta TO mw_termmeta; RENAME table wp_term_relationships TO mw_term_relationships; RENAME table wp_term_taxonomy TO mw_term_taxonomy; RENAME table wp_usermeta TO mw_usermeta; RENAME table wp_users TO mw_users;
با اینکار، نام جداول دیتابیس شما از wp_ به mw_ تغییر خواهد یافت. حالا اگر جدولی بیش از جداول پیشفرض وردپرس دارید، باید یک خط جدید به این دستور اضافه کنید. دقت کنید عبارت mw_ را باید به عبارتی که در wp-config.php وارد کردید، تغییر دهید. بعد از اضافه کردن خط به تعداد جداول دیتابیس سایتتان، روی Go کلیک کنید تا دستور اجرا شده و نام تمام جداول دیتابیس شما تغییر کند.
جدول options در دیتابیس
جدول wp_options خودش دارای ردیفهایی است که از پیشوند دیتابیس استفاده میکنند. برای تغییر این پیشوندها، دستور زیر را در SQL اجرا کنید.
SELECT * FROM mw_options WHERE option_name LIKE '%wp_%'
جدول UserMeta در دیتابیس
جدول usermeta نیز دارای اطلاعاتی حیاتی است که باید حتما تغییر کند. پس دستور زیر را هم اجرا کنید.
SELECT * FROM mw_usermeta WHERE meta_key LIKE '%wp_%'
حالا سایتتان را تست کنید. امید است که مشکلی بوجود نیامده باشد. در صورتی که مشکلی بوجود آمد بک آپ دیتابیس را بازگردانی کنید و مراحل را مجدد انجام دهید. دقت داشته باشید در این آموزش از پیشوند mw_ استفاده شد. اگر شما پیشوند دیگری را استفاده کردید، حتما میبایست در تمام دستورات SQL از پیشوند خود به جای mw_ استفاده کنید.
منابع: wikipedia – wordpress.org – mihanwp – youtube