روش های تغییر پیشوند جداول وردپرس برای افزایش امنیت

سلام دوستان؛
در آموزش های قبلی به روش هایی جهت افزایش امنیت و جلوگیری از هک شدن وردپرس پرداختیم. ترفندهایی که رعایت آن ها موجب افزایش چشم گیر امنیت سایت خواهد شد. هر سیستم مدیریت محتوایی می تواند هدف افراد سودجو قرار گیرد. تیم امنیت وردپرس به صورت بی وقفه در حال بروزرسانی هسته و رفع نواقص امنیتی آن هستند اما باز هم عقل سلیم حکم می کند که اقدامات پیشگیرانه ای برای ارتقاء سطح امنیت وب سایت خود انجام دهیم. یکی از روش های افزایش ایمنی، تغییر پیشوند جداول وردپرس برای جلوگیری از تزریق کدهای مخرب SQL است.

دلایل تغییر پیشوند جداول وردپرس

یکی از مهم ترین بخش های هر وب سایت، دیتابیس آن است. پایگاه داده وردپرس وظیفه نگهداری و ذخیره تمام اطلاعات مهم  سایت را برعهده دارد. در نتیجه، آن را به یک هدف جذاب و کارا برای هکرها و اسپم ها تبدیل کرده که کدهای مخربی را  به SQL تزریق می کنند. هنگام نصب وردپرس، اکثر کاربران پیشوند پیش فرض جداول پایگاه داده  که wp_ است را تغییر نمی دهند.

نحوه تغییر پیشوند جداول سایت های وردپرسی

نکته مهم: قبل از شروع هر کاری باید یک نسخه پشتیبان از MySQL وب سایت وردپرسی خود تهیه کنید.

همان طور که در مقاله های قبلی ذکر کردیم، یکی از روش های هک کردن سایت تزریق کدهای مخرب به SQL است. از آنجا که پیشوند ** wp ** به صورت پیش فرض روی جداول تنظیم شده است، هکرها برای تست و بررسی اولین بار آن را انتخاب خواهند کرد. در این آموزش قصد داریم روش هایی را بررسی کنیم که چطور می توان از وب سایت وردپرسی در برابر چنین حملاتی محافظت کرد.

گام اول: تغییر پیشوند جداول در فایل wp-config.php

با استفاده از FTP client یا File Manager به هاست خود رجوع کرده و فایل wp-config.php را پیدا کنید. سپس مقدار $ table_prefix را در فایل جستجو کنید.

تغییر پیشوند جداول وردپرس

برای این قسمت می توانید هر مقدار دلخواهی از اعداد، حروف بزرگ یا کوچک تعریف کنید. سپس تغییرات خود را ذخیره کنید و به مرحله بعدی بروید. در این آموزش، از wp_1secure1_ به عنوان پیشوند جداول دیتابیس استفاده کرده ایم.

تغییر پیشوند جداول وردپرس

بعد از انجام تغییرات ذکر شده در فایل wp-config.php نام پایگاه داده وب سایت خود را نیز پیدا کنید، بخش “DB_NAME” مربوط به نام دیتابیس شماست.

گام دوم: به روز رسانی تمام جداول پایگاه داده

در این مرحله از تغییر پیشوند جداول وردپرس باید کل پایگاه داده خود را به روز کنید. این کار را می توان با استفاده از phpMyAdmin انجام داد.

تغییر پیشوند جداول وردپرس

نام پایگاه داده ای که در مرحله قبلی در فایل  چک کردید را در این مرحله نیاز دارید! در این قسمت به دنبال همان دیتابیس بگردید.

تغییر پیشوند جداول وردپرس

هر دیتابیسی در وردپرس به طور پیش فرض دارای 12 جدول است و هر کدام از آن ها بعد از تغییر پیشوند باید به روز شوند. به کمک بخش SQL در  phpMyadmin می توان این کار را سریع تر انجام داد.

تغییر پیشوند جداول وردپرس

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

RENAME table `wp_commentmeta` TO `wp_1secure1_commentmeta`;
RENAME table `wp_comments` TO `wp_1secure1_comments`;
RENAME table `wp_links` TO `wp_1secure1_links`;
RENAME table `wp_options` TO `wp_1secure1_options`;
RENAME table `wp_postmeta` TO `wp_1secure1_postmeta`;
RENAME table `wp_posts` TO `wp_1secure1_posts`;
RENAME table `wp_terms` TO `wp_1secure1_terms`;
RENAME table `wp_termmeta` TO `wp_1secure1_termmeta`;
RENAME table `wp_term_relationships` TO `wp_1secure1_term_relationships`;
RENAME table `wp_term_taxonomy` TO `wp_1secure1_term_taxonomy`;
RENAME table `wp_usermeta` TO `wp_1secure1_usermeta`;
RENAME table `wp_users` TO `wp_1secure1_users`;

برخی از قالب ها یا افزونه های وردپرسی باعث ایجاد جداول اضافی در پایگاه داده می شوند. در صورتی که بیش از 12 جدول در پایگاه داده MySQL خود داشته باشید، باید بقیه آنها را به صورت دستی به لیست پرس و جو SQL اضافه کنید و سپس آن را اجرا کنید.

گام سوم: چک کردن جداول options و usermeta

بسته به تعداد افزونه هایی که نصب کرده اید، برخی از مقادیر موجود در پایگاه داده شما باید به صورت دستی به روزرسانی شوند. برای این منظور می توان پرس و جویی را روی جداول usermeta و options اجرا کرد. برای جدول options باید از دستور زیر استفاده کنید:

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

و برای جدول usermeta باید از دستور زیر استفاده کنید:

SELECT * FROM `wp_1secure1_usermeta` WHERE `meta_key` LIKE '%wp_%'

هنگامی که نتایج SQL query دریافت کردید، تمامی پیشوندهای جداول از wp_ به پیشوند تازه ای که تنظیم کرده اید تغییر می یابد.  اقدام بعدی که باید انجام دهید این است که جدول usermeta را بررسی و فیلد meta_key را ویرایش کنید، در جدول options نیز باید مقدار option_name تغییر کند.

تغییر پیشوند جداول وردپرس

تنظیم پیشوند جداول وردپرس در حال نصب

روش ذکر شده برای تغییر پیشوند جداول وردپرس بود، وردپرسی که نصب شده است! اگر در حال نصب یک وردپرس جدید باشید نیازی به انجام مراحل فوق نیست. بلکه در طول فرآیند نصب خیلی راحت می توانید پیشوند جداول راتنظیم کنید:

تغییر پیشوند جداول وردپرس

به همین سادگی موفق به تغییر پیشوند جداول وردپرس شدید به این صورت احتمال هک شدن دیتابیس یا تزریق کدهای مخرب به SQL تا حد زیادی کاهش خواهد یافت.

جمع بندی نهایی

هر سیستم مدیریت محتوایی فارغ از میزان امنیت آن، می تواند طعمه افراد سودجو و خرابکار واقع شود. برخی اقدامات برای افزایش امنیت و پیشگیری از هک شدن وب سایت وردپرسی وجود دارد که میزان تهدیدات را تا حد زیادی کاهش می دهد. یکی از این روش ها تغییر پیشوند جداول وردپرس است. برای این منظور ابتدا باید در فایل پیکربندی وردپرس این تنظیمات را اعمال و پیشوند جدید را تعریف کرد سپس به phpMyAdmin رجوع کرده پرس و جویی برای بروزرسانی پیشوند تمام جداول اجرا کرد. در مرحله بعدی برخی از فیلدهای دو جدول usermeta و options باید تغییر کنند. در نهایت تمامی پیشوندها تغییر یافته و از این پس جداول با پیشوند جدید در دسترس هستند. دقت داشته باشید که قبل از شروع تمامی این فرآیندها از SQL خود یک نسخه بکاپ تهیه کنید.

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

موفق باشید. 🙂