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

4.5 / 5. تعداد رای: 2

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

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

در هر صورت باید مواظب این مغز باشید چون بصورت متداول هکر‌ها سعی می‌کنند با استفاده از SQL Injection در دیتابیس شما اقدام به تغییر اطلاعات سایتتان کنند. حالا همانطور که در دوره آموزش امنیت وردپرس توضیح دادم، باید کاری کنید که این SQL Injection‌ها روی سایت شما تاثیری نداشته باشد.

بهترین راه برای گول زدن هکر هم این است که مسیری که دنبال می‌کنند را تغییر دهید تا با بن‌بست روبرو شوند! حالا چطور و چگونه؟

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

اول اجازه دهید توضیح بدم که پیشوند جداول دیتابیس وردپرس دقیقا چیست؟ وقتی در حال نصب وردپرس هستید یک گزینه به نام پیشوند جداول به شما نمایش داده می‌شود که بصورت پیشفرض _wp است. شما اجازه تغییر آنرا به هر اسمی که دوست داشته باشید دارید. اگر خاطرتان باشد، در آموزش نصب وردپرس به شما توصیه کردیم که این پشوند را تغییر دهید.

در واقع این پیشوند‌ها قبل از نام جداول دیتابیس شما قرار خواهند گرفت و با تغییر آنها، مسیر کلی جداول دیتابیس تغییر خواهد کرد و این یعنی همان تغییر آدرس و به به بن‌بست خوردن هکر!

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

برای اینکار باید چند مرحله انجام شود که بصورت قدم به قدم به شما این مراحل را توضیح خواهم داد.

ابتدا، از دیتابیس خود بک آپ بگیرید.

اولین قدم این است که برای محکم کاری بیشتر، از دیتابیس خود بک آپ گیری کنید. برای اینکار می‌توانید آموزش بک آپ گیری از وردپرس را ببینید. البته اگر وبمستر طلایی هستید نیازی به آموزش دیدن نیست. 🙂

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

بعد از بک آپ گیری از دیتابیس وردپرس، وارد فایل wp-config.php شوید. این فایل در پوشه روت یا همان public_html سایت شما قرار دارد. آنرا با یک ویرایشگر باز کنید. در اینجا عبارت table_prefix را جستجو کنید. این عبارت در خطی شبیه به زیر وجود دارد.

$table_prefix  = 'wp_';

حالا عبارت wp_ را به عبارت دیگری ( مثلا: mw_ ) تغییر دهید. با اینکار عملا جداول شما از این آدرس خوانده می‌شود.

نکته: شما می‌توانید از عدد، عبارت و _ در پیشوند استفاده کنید. عباراتی مثل $ یا % مجاز نیست!

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

برای اینکار وارد کنترل پنل هاست خود شوید. اگر از سی پنل استفاده می‌کنید، وارد صفحه ورود سی پنل شوید.

رفتن به Cpanel

بعد از وارد شدن به سی پنل، روی PHPMyAdmin کلیک کنید.

phpmyadmin

وقتی وارد مدیریت دیتابیس‌ها شدید، از سمت چپ دیتابیس وردپرس خود را انتخاب کنید:

نام دیتابیس

بعد از انتخاب دیتابیس، از بالای صفحه روی گزینه Sql کلیک کنید.

انتخاب 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_ استفاده کنید.

موفق باشید. 😉

نکته خاصی هست که این مقاله رو تکمیل‌تر کنه؟

  1. U329155 ۱۲ شهریور ۱۴۰۲

    سلام بنده بعد از انجام مراحل دیگر اجازه ورود من به وردپرس را نمیزاره انگار که هنوز ثبت نام نکردم لطفا راهنمایی کنید

  2. U329155 ۱۲ شهریور ۱۴۰۲

    سلام من بعد از انجام این کار تمام اطلاعات سایتم از بین رفته لطفا راهنماییم کنید تا اطلاعاتم را برگردانم

  3. U39332 ۷ اردیبهشت ۱۴۰۰

    سلام؛
    برای جدول های prefix_options و prefix_usermeta بعضی از مقادیر مربوط به option_name و meta_key با همین دستور SELECT به صورت wp-[value] برمیگرده (بعد از wp از dash استفاده شده نه underline) اینها باید تغییر کنند؟ (در کوئری و قسمت LIKE از underline استفاده شده چرا dash رو هم برگردونده؟!)
    در جدول prefix_options یکی از مقادیر با wpp_ شروع شده (wpp_settings) این مورد هم باید تغییر کنه؟ (باز اینجا بعد LIKE میگه هرچیزی wp_ هرچیزی! چرا wpp_ رو هم برگردونده؟!)
    (به خاطر توصیه ای که در صفحه contact داشتید همینجا پرسیدم! اگه ایمیل نمایش داده میشه لطفا جایگزین کنید! خب مسلما این نوشته رو هم حذف بفرمایید. اصلا اگه کل کامنت رو هم حذف کردید و ایمیل دادید که چه بهتر. ممنون)

    • Reza Rad رضا راد ۷ اردیبهشت ۱۴۰۰

      درود بر شما متوجه سوالتون نشدم دقیقا ولی اگر منظورتون این هست که از – استفاده کردید اینکار اشتباه هست و باید مجدد مراحل رو انجام بدید.

  4. کاربر مهمان ۲۶ بهمن ۱۳۹۸

    سلام
    وقتی که داریم وردپرس را نصب می کنیم ، یک قسمتی هست که می تونیم این پیشوند رو عوض کنیم و به طور پیش فرض بر روی wp_ هست . اگر از همان ابتدای نصب وردپرس ، این پیشوند رو تغییر بدیم دیگر لازم نیست تا این مراحل را طی کنیم درسته ؟

  5. U21429 ۱۱ آبان ۱۳۹۸

    سلام لطفا برای این امور و امنیت، افزونه مناسب معرفی بفرمایید.
    با تشکر

    • تیم پشتیبانی تیم پشتیبانی ۱۲ آبان ۱۳۹۸

      با سلام و احترام
      برای امنیت سایت از افزونه all in one security استفاده بفرمایید

  6. U21429 ۹ آبان ۱۳۹۸

    با سلام
    سلام وقتتون بخیر
    1. آیا استفاده از تنظیمات دستی رو پیشنهاد میدین یا استفاده از افزونه؟
    2. آیا این افزونه های امنیت تمام کارهای دستی که در فایل های مختلف برای امنیت انجام میدیم رو انجام میده؟ مثل ویرایش محتویات فایل کانفیگ.پی اچ پی و …
    با تشکر

  7. U11623 ۳۰ مرداد ۱۳۹۸

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

    • تیم پشتیبانی تیم پشتیبانی ۳۰ مرداد ۱۳۹۸

      سلام
      روش کار اشتباه بوده. باید دوباره پیشوند wp_ را در فایل کانفیگ قرار دهید

      • U11623 ۳۰ مرداد ۱۳۹۸

        ممنونم سایت به حالت قبل برگشت با قراردادن _wp ولی طبق اموزشی که قرارداده بودید انجام دادم البته فقط فایل wp-config رو تغییر دادم باید بقیه مراحل رو هم ادامه میدادم یا اونها روش های دیگه برای تغییر پیشوند جداوله ؟

        • Reza Rad رضا راد ۳۱ مرداد ۱۳۹۸

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

  8. U23335 ۳۰ مرداد ۱۳۹۸

    سلام
    من در قسمت wp_configپیشوند جداولمو تغییر دادم ذخیره کردم ولی دیتا بیسمو که نگاه میکنم همون پیشوند قبلیه چند بارم چک کردم مشکل کجاست؟

    • تیم پشتیبانی تیم پشتیبانی ۳۰ مرداد ۱۳۹۸

      سلام
      باید دیتابیس رو هم تغییر بدید. در اموزش امنیت وردپرس توضیح داده شده

  9. U3199 ۳۱ اردیبهشت ۱۳۹۸

    سلام. این کاری که شما فرمودید با افزونه All in one wp security به راحتی قابل انجام است.اگر با این افزونه پیشوند جداول را تغییر دهم،باز هم امکان هک یعنی وجود دارد؟ کدام مورد بهتر و اصولی است؟

  10. کاربر مهمان ۶ بهمن ۱۳۹۷

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

    تو دیتابیس سایت من، تو جدول wp_usermeta مواردی وجود داره که عبارت _wp وسط اسم هست مثلا :
    dismissed_wp_pointers
    و همینطور تو جدول wp_options موارد زیر وجود داره که همونطور که می بینید عبارت _wp وسط اسم هست و نه ابتدای اسم :
    mc4wp_flash_messages

    آیا اینها رو هم باید تغییر بدیم ؟

    با تشکر

  11. کاربر مهمان ۲۴ آذر ۱۳۹۷

    سلام لطفا خودتون سعی کنید نام قالب هارا wp تغییر دهید

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

    افزونه Change DB Prefix
    change table prefix از مخزن وردپرس این دوتا خراب نصب میکنه

    • Reza Rad رضا راد ۲۴ آذر ۱۳۹۷

      درود افزونه all in one wordpress security بصورت صحیح تبدیل میکنه.

      • کاربر مهمان ۲۴ آذر ۱۳۹۷

        خیلی ازتون سپاس گذارم کمک بزرگی بهم کردید ماچ ماچ

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

    • کاربر مهمان ۱۹ بهمن ۱۳۹۹

      سلام من از wp-config.php پیشوند جدول رو تغییر دادم اما سایت کلا بهم ریخت و پشتیبان هاست بک آپ سایت رو انجام دادن و سایت برگشت، کلا با تغییر پیشوند جدول سایت بهم میریزه یا من اشتباه انجام دادم؟

  12. کاربر مهمان ۲۰ آذر ۱۳۹۷

    جالب بود
    ولی این کار بعد آپلود و کار کردن سایت
    با پلاگین تغییر دهیم بهتره