۳ روش برای محافظت از فایل wp-config.php [قسمت – هشتم]

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

۳ روش برای محافظت از فایل wp-config.php

دانلود فایل wp-config-sample.php

دانلود فایل wp-config-sample.php

شاید سوال تون این باشه که فایل wp-config-sample.php را پیدا نمی کنید، برای دانلود فایل wp-config-sample.php کافی است از این آدرس  وارد سایت وردپرس شوید و روی دریافت وردپرس کلیک کنید، یک فایل زیپ را دریافت خواهید کرد، این فایل را اکسترکت کنید. داخل این فایل یک پوشه به نام wordpress وجود دارد، وارد این پوشه شوید. چندفایل پایین تر می توانید فایل wp-config-sample.php را مشاهده کنید.

فایل wp-config-sample.php چه کاری را در وردپرس انجام میده؟

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

دانلود فایل wp-config.php

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

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

و همین طور می توانید این فایل را از همین جا دانلود کنید به همراه راهنمای فارسی که بصورت کامنت شده به شما گفتیم هر خط کد در این فایل چه کاری را انجام می دهد فقط کافی است روی کلمه‌ی دانلود فایل wp-config.php کلیک نمایید.

نکته: اگر در قالب تون دو تا فایل wp-config-sample.php و wp-config.php وجود دارد حتما فایل wp-config-sample.php را پاک نمایید.

ویرایش فایل wp-config.php

ساخته شدن فایل wp-config

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

چرا فایل wp-config مهم است؟

اطلاعات دیتابیس یا پایگاه داده‌ی سایت در این فایل ذخیره می شود، اگر این اطلاعات به هر نحوی درست وارد نشود با خطای Error Establishing a Database Connection مواجه خواهید شد که برای رفع این خطا باید اطمینان حاصل کنید که اطلاعات پایگاه داده را به درستی وارد کردید.

اما فقط اطلاعات پایگاه داده در این فایل وجود ندارد بلکه تنظیمات مختلف دیگری نیز وجود دارد که در ادامه باهم مرور خواهیم کرد.

تنظیمات فایل wp-config.php

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

ویرایش فایل wp-configاگر نمی دانید که چطور از FTP استفاده کنید لطفا مقاله ی “نحوه استفاده از FTP برای آپلود فایل ها در وردپرس” مطالعه بفرمایید.

بعد از بک اپ گیری این فایل را ویرایش کنید، بیایید آشنایی با کد های wp-config را شروع کنیم.

تنظیمات پایه پیکربندی وردپرس

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

همچنین بخوانید:  چگونه وردپرس را در لوکال هاست نصب کنیم؟

تنظیمات پایگاه داده(Database) وردپرس

define('DB_NAME', 'database-name'); /** نام پایگاه داده */
define('DB_USER', 'database-username'); /** نام کاربری پایگاه داده */		
define('DB_PASSWORD', 'database-password'); /** رمز عبور پایگاه داده */
define('DB_HOST', 'localhost'); /** نام هاست */

 بیشتر بدانیم:  در PHP برای تعریف ثابت‌ها از تابع define استفاده می‌شود، که تابع define دو پارامتر اجباری دارد اولی نام ثابت و دومی مقدار ثابت می‌باشد، این تابع در فایل کانفیگ وردپرس مشاهده می‌شود.

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

/** شیوه کدینگ برای ایجاد جداول پایگاه داده */
define( 'DB_CHARSET', 'utf8' );

/**ذخیره سازی اطلاعات در جداول */
define( 'DB_COLLATE', '' );

 

اضافه کردن کلید های امنیتی در وردپرس یا کلید اصلی(salt)

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

کلید اصلی و salts بصورت یکتا تولید می شوند مثل اثر انگشت می ماند و در هیچ سایتی این کلیدها شبیه هم نیستند.

کاربرد کلید اصلی و salts چیست؟

این کلید کمک می کنه تا امنیت سایت از نظر نشست‌ها (سشن) و کوکی‎ها تضمین شود در واقع یک لایه امنیتی اضافی درهنگام ورود و احراز هویت کوکی‌ها تنظیم می کند.

define( 'AUTH_KEY',         'put your unique phrase here' );
define( 'SECURE_AUTH_KEY',  'put your unique phrase here' );
define( 'LOGGED_IN_KEY',    'put your unique phrase here' );
define( 'NONCE_KEY',        'put your unique phrase here' );
define( 'AUTH_SALT',        'put your unique phrase here' );
define( 'SECURE_AUTH_SALT', 'put your unique phrase here' );
define( 'LOGGED_IN_SALT',   'put your unique phrase here' );
define( 'NONCE_SALT',       'put your unique phrase here' );

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

برای تغییر کلید امنیتی کافی است به لینک ” تغییر کلید امنیتی وردپرس ” مراجعه کنید.

پایین تر از این بخش متغییر table_prefix را مشاهده می کنید که مقدار پیش فرض آن ‘wp_’ است اگر هنگام نصب این پیشوند را تغییر داده باشید، مقدار این متغییر نیز تغییر پیدا می‌کند.

فعال کردن اشکال زدایی در وردپرس

ویژگی اشکال زدایی یا دیباگ گیری در وردپرس به شما این اجازه را می‌دهد خطاهایی که در وردپرس بوجود می آید را مشاهده کنید البته باید WP_DEBUG روی true تنظیم شده باشد که به صورت پیش فرض روی false تنظیم شده است. که برای فعال کردن آن، کد زیر را به فایل پیکربندی وردپرس خود اضافه کنید:

define( 'WP_DEBUG', true );

برای اینکه خطاهای وردپرس در سایت نمایش داده نشود می توان از کدهای زیر استفاده کرد:

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );

این کدها باعث می شوند در داخل پوشه wp-content یک فایل به نام debug.log درست شود و تمامی خطاها داخل این فایل ذخیره گردند.

ثابت ABSPATH

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

if ( !defined('ABSPATH') )
	define( 'ABSPATH', dirname(__FILE__) . '/' );

فایل wp-settings.php

در انتهای  این فایل قسمتی به نام wp-settings.php وجود دارد و تا زمانی که فایل wp-settings توسط خط زیر فراخوانی نگردد هیچگونه عملیاتی توسط وردپرس قابل انجام نخواهد بود، پس به هیچ وجه به این کدهم دست نزنید:

require_once( ABSPATH . 'wp-settings.php' );

چه کارهایی می توانیم با استفاده از فایل wp-config.php انجام دهیم؟

فقط این تنظیمات نیستند که در فایل wp-config.php می توانید انجام دهید ثابت ها و متغییرهای زیادی در وردپرس وجود دارند که می توانید به این فایل اضافه نمایید در ادامه قصد داریم به چند نمونه از این فایل ها اشاره کنیم.

همچنین بخوانید:  ساخت دامنه مجازی و خلاص شدن از ارورهای زمپ (قدم به قدم)

۱- تغییر پورت و سوکت mysql در وردپرس

اگر پایگاه داده ای که تعریف کردید روی پورت خاصی تعریف شده باشد باید این مورد را به وردپرس معرفی کنید، بصورت زیر:

define( 'DB_HOST', 'localhost:5067' );

تمامی دیتابیس‌های وردپرس به طور پیش‌فرض از پورت ۵۰۶۷ استفاده می‌کنند، برای جلوگیری از هک شدن بهتر است که این پورت تغییر پیدا کند.

۲- تغییر آدرس ها توسط wp-config در وردپرس

اگر می‌خواهید ادرس دامنه خود را تغییر دهید می توانید این کار را با استفاده از کد زیر انجام دهید:

define('WP_HOME','https://tarminet.com');
define('WP_SITEURL','https://www.tarminet.com');

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

۳- تغییر فضای آپلود فایل با ویرایش فایل wp-config.php

به طور پیش فرض در وردپرس تمام تصاویر و ویدئو ها و… در آدرس wp-contnet/uploads ذخیره می شوند اگر دوست دارید این آدرس را تغییر بدید از طریق کد زیر می توانید این کار را انجام دهید:

define( 'UPLOADS', 'wp-content/media' );

دقت داشته باشید که من یک پوشه به نام media در پوشه wp-content درست کردم، شما می توانید هر پوشه ای که دوست دارید را تعریف کنید.

۴- تغییر مجوز فایل ها

همان طور که در آموزش قبلی به نام ” تغییر سطح دسترسی فایل در وردپرس ” به اهمیت تغییر مجوزها اشاره شد، در فایل wp-config.php به راحتی می توانید مجوزهای فایل ها و فولدرها را با استفاده از کد زیر تغییر دهید:

define( 'FS_CHMOD_FILE', 0644); /** تغییر دسترسی فایل */
define( 'FS_CHMOD_DIR', 0755); /** تغییر دسترسی پوشه */

۵- تغییر تنظیمات رونوشت های نوشته

wordpress Post Revisions

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

define( 'AUTOSAVE_INTERVAL', 120); /** هر ۱۲۰ ثانیه یک رونوشت ذخیره خواهد */
define( 'WP_POST_REVISIONS', 10); /** تعداد رونوشت های نگهداری شده */
define( 'WP_POST_REVISIONS', false ); /** برای غیر فعال کردن رونوشت  */

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

۶- حذف نوشته های وردپرس در سریع ترین زمان

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

define( 'EMPTY_TRASH_DAYS', 10); /** بعد از ده روز نوشته شما کاملا پاک خواهد شد */
define( 'EMPTY_TRASH_DAYS', 0); /** بلافاصله نوشته شما کاملا پاک خواهد شد */

۷- تعمیر خودکار پایگاه داده در وردپرس

repair-wordpress-database

می توان از طریق وردپرس پایگاه داده آن را به طور خودکار بهینه و تعمیر کرد این کار باعث می شود فایل های اضافی در پایگاه داده حذف شوند و مقداری سرعت سایت را افزایش دهد. برای این کار کد زیر را قرار دهید:

define( 'WP_ALLOW_REPAIR', true); /** بهینه سازی پایگاه داده ی وردپرس */

بعد از وارد کردن کد بالا لطفا به آدرس سایت مراجعه کنید و در انتهای آدرس wp-admin/maint/repair.php را وارد نمایید، مانند:

https://tarminet.com/wp-admin/maint/repair.php

۸- محدودیت حافظه PHP در وردپرس را افزایش دهید

یکی از شایع ترین خطاهای وردپرس نبود حافظه کافیه در PHP است. به راحتی می توانید این محدودیت را از طریق فایل wp-config.php افزایش دهید:

define( 'WP_MEMORY_LIMIT',128M); /** افزایش حافظه php به ۱۲۸ مگابایت */

افزایش امنیت فایل wp-config

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

همچنین بخوانید:  سریعترین راه برای حذف کردن ورژن وردپرس [قسمت – یازدهم]

۱- تغییر مسیر فایل wp-config.php

 wp-config-php-location

یکی از راه هایی که باعث افزایش امنیت وردپرس با فایل wp-config.php می‌شود این است که مسیر قرارگیری فایل کانفیگ وردپرس را در هاست تغییر دهیم و با مخفی کردن فایل wp-config.php امنیت این فایل را بالا ببریم.

بصورت پیش فرض این فایل در ریشه سایت (public_html ) قرار دارد، یعنی جایی که پوشه های wp-content وجود دارند، می توان یک دایرکتوری ( یک پوشه ) به عقب برویم یعنی (پوشه home) و فایل کانفیگ وردپرس را در اینجا move کنیم.

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

define('ABSPATH', dirname(__FILE__) . '/');
require_once(ABSPATH . '../wp-config.php');

که به جای ../wp-config.php مسیر فایل خود را وارد می‌کنید.

۲- محافظت از فایل wp-config.php توسط htaccess

برای جلوگیری از هک شدن وردپرس توسط فایل wp-config.php می توانید با ویرایش فایل htaccess و قرار دادن کدهای زیر از این فایل محافظت نمایید:

# protect wpconfig.php 
<files wp-config.php> 
order allow,deny
deny from all 
</files>

۳- تغییر سطح دسترسی wp-config.php

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

cpanel-chang-permission

کافی است سطح دسترسی این فایل را بر روی ۴۰۰ تنظیم نمایید.

جمع بندی

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

یک سایت خوب می‌خواهم معرفی کنم اگر می‌خواهید براساس نیازتان فایل wp-config.php شخصی سازی کنید، وارد سایت  Generate WP شوید.

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

راستی می‌توانید در کانال تلگرامی ما عضو شوید.

شما می‌توانید قسمت های قبلی دوره آموزش امنیت وردپرس را با کلیک بر روی لینک‌های زیر مشاهده کنید:

آموزش امنیت وردپرس بدون دانش امنیتی [قسمت – اول]

روش انتخاب پسورد برای وردپرس در ۵ قدم[قسمت – دوم]

تغییر نام کاربری در وردپرس قدم به قدم – [قسمت – سوم]

بالا بردن امنیت سایت با مخفی کردن نام نویسنده در وردپرس – [قسمت – چهارم]

نکته‌ی امنیتی که هر مدیر وردپرسی باید آن‌را بداند [قسمت – پنجم]

جلوگیری از حملات بروت فورس در وردپرس [قسمت – ششم]

افزایش امنیت با تغییر سطح دسترسی فایل در وردپرس [قسمت – هفتم]

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

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

در این جا ما به شما کاملا رایگان آموزش می دهیم که چطور امنیت سایت وردپرسی خودتون را حفظ کنید، بعلت بروز رسانی دائمی و آگاهی از آخرین آموزش ها لطفا ایمیل خود را در کادر زیر وارد نمایید.
می‌خواهم این نکات را بدانم
برای اطلاع از آخرین نکات امنیت در وردپرس لطفا ایمیل خود را در کادر بالا وارد نمایید.
close-link