نحوه تغییر پیشوند پایگاه داده وردپرس برای بهبود امنیت
پایگاه داده وردپرس مانند یک مغز برای کل سایت وردپرس شما است زیرا تک تک اطلاعات در آنجا ذخیره می شود و بنابراین آن را به هدف مورد علاقه هکرها تبدیل می کند. هرزنامه ها و هکرها کدهای خودکار را برای تزریق SQL اجرا می کنند. خوب، متأسفانه بسیاری از مردم هنگام نصب وردپرس فراموش می کنند که پیشوند پایگاه داده را تغییر دهند . این باعث می شود هکرها با هدف قرار دادن پیشوند پیش فرض wp_ برنامه ریزی یک حمله انبوه را آسان تر کنند . هوشمندانه ترین روشی که می توانید از پایگاه داده خود محافظت کنید، تغییر پیشوند پایگاه داده است که انجام آن در سایتی که در حال راه اندازی آن هستید واقعا آسان است. اما پس از راه اندازی سایت وردپرسی خود تغییر آن کمی سخت تر می باشد زیرا باید جوانب مختلفی را در نظر بگیرید تا سایت وردپرسی شما خراب نشود
آماده سازی
توصیه می کنیم قبل از انجام هر کاری که در این آموزش پیشنهاد شده است از پایگاه داده وردپرس خود نسخه پشتیبان تهیه کنید . مهم است که روزانه از سایت خود نسخه پشتیبان تهیه کنید، ما افزونه BackupBuddy را برای انجام این کار توصیه می کنیم. توصیه بعدی این است که بازدیدکنندگان خود را به یک صفحه تعمیر و نگهداری موقت هدایت کنید .
پیشوند جدول را در wp-config.php تغییر دهید
فایل wp-config.php خود را که در دایرکتوری ریشه وردپرس شما قرار دارد باز کنید. خط پیشوند جدول را از wp_ به چیز دیگری مانند این wp_a123456_ تغییر دهید
بنابراین خط به شکل زیر خواهد بود:
$table_prefix = 'wp_a123456_';
توجه: فقط می توانید از اعداد، حروف و خط زیر استفاده نمایید.
نام تمام جداول پایگاه داده را تغییر دهید
شما باید به پایگاه داده خود دسترسی داشته باشید (به احتمال زیاد از طریق phpMyAdmin)، و سپس نام جدول را به نامی که در فایل wp-config.php مشخص کرده ایم تغییر دهید. اگر از میزبانی cPanel WordPress استفاده می کنید ، می توانید پیوند phpMyAdmin را در cPanel خود پیدا کنید.
در مجموع 11 جدول پیش فرض وردپرس وجود دارد، بنابراین تغییر دستی آنها دردسرساز خواهد بود. برای راحتی از کوئری SQL که در ادامه ذکر کرده ایم برای تغییر یکجای نام جداول می توانید استفاده نمایید
پرس و جوی SQL
به همین دلیل است که برای سریعتر کردن کارها، ما یک پرس و جوی SQL داریم که می توانید از آن استفاده کنید
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`;
در صورتی که افزونه ای نصب کرده اید که آن افزونه جدولی به پایگاه داده شما اضافه کرده است باید همانند کوئری بالا برای آن نیز کوئری مناسب نوشته شود. در نهایت تمام جداول موجود در پایگاه داده باید با پیشوند جدید باشد
جدول options وردپرس
ما باید در جدول options نیز هر فیلدی که حاوی پیشوند wp_ می باشد را به پیدا کرده و به پیشوند جدید تغییر دهیم. برای سهولت در فرآیند، از این پرس و جو استفاده کنید
SELECT * FROM `wp_a123456_options` WHERE `option_name` LIKE '%wp_%'
این کار نتایج زیادی را به همراه خواهد داشت و باید یکی یکی برای تغییر این خطوط پیش بروید.
جدول UserMeta
در مرحله بعد، ما باید usermeta را برای تمام فیلدهایی که از wp_ به عنوان پیشوند استفاده می کنند جستجو کنیم تا بتوانیم آن را جایگزین کنیم. از این پرس و جوی SQL برای آن استفاده کنید:
SELECT * FROM `wp_a123456_usermeta` WHERE `meta_key` LIKE '%wp_%'
تعداد ورودی ها ممکن است بسته به تعداد افزونه هایی که استفاده می کنید و مواردی از این دست متفاوت باشد. فقط هر چیزی که wp_ دارد را به پیشوند جدید تغییر دهید.
پشتیبان گیری
اکنون برای تست سایت آماده هستید. اگر مراحل بالا را دنبال کردید، پس همه چیز باید درست کار کند. اکنون، شما باید یک نسخه پشتیبان جدید از پایگاه داده خود تهیه کنید تا خیالتان راحت باشد!