آموزش ایمن سازی و بهینه سازی پایگاه داده وردپرس

/, مشکلات رایج, مقالات آموزشی, وردپرس/آموزش ایمن سازی و بهینه سازی پایگاه داده وردپرس

آموزش ایمن سازی و بهینه سازی پایگاه داده وردپرس

وردپرس یک اسکریپت متن باز بزرگ است که برای اجرای آن MySQL و PHP و نیاز است. با استفاده از PHP اطلاعات از پایگاه داده دریافت شده و در وب سایت نمایش داده می شود و MySQL سیستم مدیریت پایگاه داده است که برای نگه داری اطلاعات و تنظیمات سایت از آن استفاده می شود.

شما برای اینکه یک وب سایت وردپرسی راه اندازی کنید به دانش MySQL و PHP نیاری ندارید، اما دانستن آنها می تواند یک مزیت بزرگ بشمار برود. در این صورت شما خواهید دانست که وردپرس چگونه کار می کند. در این مقاله شما یاد خواهید گرفت که پایگاه داده وردپرس چیست، چگونه کار می کند و در نهایت چگونه می توانید امنیت آن را افزایش دهید.

 

پایگاه داده وردپرس چیست؟

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

هرکدام یک از این جداول شامل داده های مختلفی مانند نوشته ها، برگه ها، دیدگاه ها، برچسب ها و … می شوند. برای مثال زمانی که شما نوشته جدیدی را ارسال می کنید، وردپرس با استفاده از کوئری های SQL داده ها را در جدول مربوط به نوشته ها در پایگاه داده ذخیره می کند و هر زمان که برای آن نوشته درخواست ارسال شود، سیستم مجددا در یک فرآیند اطلاعات ذخیره شده را از پایگاه داده دریافت کرده و صفحه مربوط به نوشته را ایجاد می کند که به این حالت وب سایت پویا گفته می شود.

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

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

  • wp_commentmeta: این جدول فراداده های مربوط به دیدگاه ها را شامل می شود.
  • wp_comments: تمام دیدگاه هایی که در وب سایت ثبت شده اند در این جدول نگه داری می شوند.
  • wp_links: این جدول برای پیوندهای وب سایت است که در نسخه های پیشین وردپرس وجود داشت که البته با آموزش فعال کردن پیوندها در وردپرس می توانید از این قابلیت همچنان بهره ببرید.
  • wp_options: این جدول شامل تنظیمات وب سایت، افزونه های فعال، فرمت تاریخ، ایمیل مدیر و موارد مشابه است.
  • wp_postmeta: این جدول شامل فرداده های مربوط به نوشته ها، برگه ها و پست تایپ های سفارشی است.
  • wp_posts: تمامی نوشته ها، برگه ها و پست تایپ های سفارشی در این جدول نگه داری می شوند.
  • wp_terms: طبقه بندی های سفارشی، دسته ها و برچسب ها همگی در این جدول نگه داری می شوند.
  • wp_term_relationships: این جدول ارتباط بین طبقه بندی ها و پست تایپ ها را مشخص می کند.
  • wp_term_taxonomy: این جدول تفاوت طبقه بندی های جدول wp_terms از قبیل دسته یا برچسب و لینک بودن را مشخص می کند.
  • wp_usermeta: تمام متاهای مربوط به کاربران در این جدول نگه داری می شود.
  • wp_users: اطلاعات اصلی کاربران همچون نام کاربری، آدرس ایمیل و رمز عبورها در این جدول نگه داری می شود.

 

چرا پایگاه داده بسیار مهم است؟

فرض کنید که محتوایی را نوشته اید، افزونه ها را برای کوچک ترین جزئیات تنظیم کرده اید، و در طی چند سال هزاران نوشته ، برگه و دیدگاه در سایت تان منتشر شده است. این اطلاعات به کجا می روند؟ جواب پایگاه داده است! هر نوشته، برگه، دسته، برچسب، دیدگاه و تنظیماتی که در سایت خود وارد می کنید همگی در پایگاه داده سایت ذخیره می شوند. البته پوسته ها، افزونه ها و فایل های مدیا در پایگاه داده ذخیره نمی شوند، به عبارتی پایگاه داده محلی برای ذخیره سازی داده های متنی است.

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

پایگاه داده به غیر از فایل های مدیا شامل ۹۰% محتوای وب سایت است. بنابراین اگر نمی خواهید که محتوا و اطلاعات وب سایت تان دزدیده شود، دستکاری شود و یا حذف شود باید برای ایمن سازی آن اقدام کنید.

 

چگونه امنیت پایگاه داده وردپرس را افزایش دهیم؟

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

 

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

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

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

  • قبل از هرچیز یک بک‌آپ از سایت خود تهیه کنید.
  • افزونه Change DB Prefix را نصب و فعال کنید.
  • از پیشخوان وردپرس به مسیر تنظیمات»Change DB Prefix مراجعه کنید.
  • یک پیشوند دلخواه وارد کنید. (مقدار وارد شده کوتاه و حداکثر ۴ کاراکتر باشد. مانند: pnbkg_ )
  • تغییرات را ذخیره کنید.

با این کار می توانید از تعداد حملاتی که به صورت خودکار انجام می گیرند در حد قابل توجهی بکاهید.

 

تهیه بک آپ از پایگاه داده

عاقلانه ترین کاری که می توانید انجام دهید تهیه بک آپ های منظم است. همیشه باید از تازه ترین نسخه وب سایت خود بک آپ داشته باشید. بنابراین، اگر مشکلی بروز کند شما می توانید به راحتی بک آپ را بر روی سرور دیگری بازگردانی کنید تا سایت تان همچنان در دسترس بازدید کنندگان باشد. برای تهیه دستی بک آپ می توانید مراحل زیر را طی کنید:

  • از کنترل پنل هاست به قسمت phpmyadmin مراجعه کنید.
  • پایگاه داده وب سایت وردپرسی خود را انتخاب کنید.
  • بر روی تب “Export” کلیک کنید و “Custom” را به عنوان روش مورد نظر انتخاب کنید.
  • از قسمت Object creation options گزینه Add DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT را انتخاب کنید.
  • در نهایت بر روی GO کلیک کنید.

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

توجه: این بک‌آپ تنها مربوط به پایگاه داده است. بنابراین اگر بخواهید فایل های مدیا مانند تصاویر، پوسته ها و افزونه های سایت قبلی را هم داشته باشید باید از پوشه wp-content نیز یک نسخه کپی تهیه کنید و در هاست وب سایت جدید آن را وارد کنید.

 

استفاده از رمزعبور قدرتمند

رمز عبوری که برای پایگاه داده انتخاب کرده اید از ۱تا ۱۰ چه قدرتی دارد؟ رمز عبورهایی مانند password12345 خیلی سریع‌تر از آنچه که فکر کنید کرک می شوند. بنابراین استفاده از رمزعبورهای ساده ای مانند فرمت اشاره شده مانند آن است که کلید در را زیر جاکفشی گذاشته باشید.

پس اگر ما در مورد قدرت رمز عبور پایگاه داده حرف می زنیم لازم است که این رمز عبور بیشتر از ۸ کاراکتر باشد و در آن از حروف کوچک و بزرگ، اعداد و علایم (مانند # @ !) استفاده شده است. لزومی ندارد که رمزعبور معنادار باشد، شما می توانید یک مقدار تصادفی وارد کنید تا حدس زدن آن غیرممکن باشد.

اگر رمزعبوری که هم اکنون استفاده کرده اید قدرت لازم را ندارد، بهتر است که هرچه سریع تر آن را با یک رمز عبور قدرتمند جایگزین کنید.

نویسنده: | ۱۳۹۵/۷/۲۲ ۱۷:۴۶:۴۵ ۲۲ مهر ۱۳۹۵|امنیت, مشکلات رایج, مقالات آموزشی, وردپرس|فاقد دیدگاه

درباره نویسنده:

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

نظر شما چیست