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

 

سلامی گرم و تابستونی به همه  ی کاربرای محترم؛

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

همونطور که حتما دوستان وردپرسی می دونن، پایگاه داده یکی از بخش های اصلی سایت هستش که باید خیلی مواظبش باشیم چون اگه مشکلی پیش بیاد  تمام سایت بهم میریزه و دردسرهای بزرگی به همراه داره! در این جلسه وارد پایگاه داده میشیم و حسابی ایمن سازی رو انجام میدیم تا دیگه دست هیچ هکری به دیتابیس نرسه.
پس در جلسه ۲۱ ام بیایید ۵ دقیقه از وقتمونو بذاریم و پایگاه داده سایتمون رو ایمن کنیم.

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

کلیکهای امنیتی وردپرس بار اول در نسخه های ۲٫۵ و ۲٫۶ و ۲٫۷ ایجاد شد.وجود این کلیدها باعث میشه که دستیابی به رمز عبور بسیار سخت بشه. این کلیدها میتونن در wp-config.php تغییر کنند! این مهم ترین تغییر در نصب و راه اندازی وردپرس هست. قطعه کد آن در wp-config.php به صورت زیر هستش :

<br />
define('AUTH_KEY', 'put your unique phrase here');<br />
define('SECURE_AUTH_KEY', 'put your unique phrase here');<br />
define('LOGGED_IN_KEY', 'put your unique phrase here');<br />
define('NONCE_KEY', 'put your unique phrase here');<br />
define('AUTH_SALT', 'put your unique phrase here');<br />
define('SECURE_AUTH_SALT', 'put your unique phrase here');<br />
define('LOGGED_IN_SALT', 'put your unique phrase here');<br />
define('NONCE_SALT', 'put your unique phrase here');</p>
<p>

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

<br />
define('AUTH_KEY',         '[w$u#*IL-lLtigU?Un)DY&gt;DSbE}C -&lt;d*+Z{gzc}Qw~p%o%g+INE3MiLBsT@%fjf');<br />
define('SECURE_AUTH_KEY',  '+=fttecyOK0jVI/~Q}f+|QMKo0H:}iV9C*koL@ci#L|ERr7i[J`&gt;VDz{qd@zX2rq');<br />
define('LOGGED_IN_KEY',    ';5+&lt;dNW?)zzrm*6zb+7-dB IRY%{D0;P2H|^v5BJYh]E[blAUU-n49Hgw0S@#nR-');<br />
define('NONCE_KEY',        'R^@%&amp;qAN$;t;&lt;OTq$&lt;Sm(447Rio}c&lt;2,ts)+bVq1BE-?$Cw+a_@i7!*&lt;`7?K4ne2');<br />
define('AUTH_SALT',        '@`Z-(+4Aq}{Y|*ow!OWSe&amp;UNK4v^)hpi|}v)Xe-j14UN|lombcE}pv7#|/]VeG#U');<br />
define('SECURE_AUTH_SALT', 'y9wF-&amp;[!&lt;PzrU]bII&gt;RL0+OiI)D)]juvkojz$40l&lt;Wbejx|xnvn5P,DI9816X-(]');<br />
define('LOGGED_IN_SALT',   'l5&amp;&amp;8omK=~.},&amp;!1w3VyVqFSF}edd7ldN,Y7cI)]XKq7+GUGQKfxjq&lt;%6;v5|v|r');<br />
define('NONCE_SALT',       '?vsQ&gt;D&gt;oYiX_g=FnGHU%Sv-f?DuNCD@%1RGeTAL~|%,n(=+-Wr?~1uzmXlw?QW9N');</p>
<p>

فقط دقت کنید! این کد فقط به عنوان نمونه و مثال قرار گرفته و شما باید برای سایتتون کدهای یکتا و شخصی سازی شده ای بنویسید.
در وردپرس پیشوندهایی در جداول دیتابیس اعمال میشه. پیشوند پیش فرض جدول -wp هست. برای مثال wp-post یا wp-terms و… . برای جلگیری از آسیب رسیدن به پایگاه داده، این پیشوندها رو بهتره تغییر بدید. زیرا هکرها با حدس زدن پیشوند به راحتی سد راه ورود شما به دیتابیس میشن! برای پیدا کردن جدول پیشوند در فایل wp-config.php :

</p>
<p>$table_prefix = 'wp_';</p>
<p>

به راحتی می تونید جدول رو جوری تغییر بدید که هسچ کس نتونه حدس بزنه!

<br />
$table_prefix = 'asdfadsfa894sdms_';</p>
<p>

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

  خطای عدم بازسازی رمز عبور در وردپرس + رفع آن

یکی از سریع ترین راه ها برای انجام این امر نصب افزونه ی Ithems security هستش! این افزونه مواردی رو که لازم باشه به صورت خودکار تغییر میده.

دانلود

صفحه افزونه

 

 

متناوبا میتونید به صورت دستی نیز این کار رو انجام بدید. این یک راه مورد استفاده برای تغییر جداول پبشوندی هستش، هرچند این امر برای سایت ها لازمه.

دو روش وجود داره تا تغییرات در phpmyadmin اعمال بشه:

روش اول، استفاده از کوئری های sql برای تغییر نام جداول است .کد زیر مثالی برای تغییر آن می باشد :

<br />
RENAME table `wp_links` TO `newprefix_links`;</p>
<p>

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

ax-1

سپس احتیاج به به روز رسانی جداول دیتابیس در این بخش ضروریه! شما می تونید سطح phpmyadmin رو مورد استفاده قرار بدید هر چند که استفاده از کوئری sql ساده است.
برای به روز رسانی جداول usermeta، کوئری های sql  را در phpmyadmin وارد کنید :

<br />
UPDATE `newprefix_usermeta` SET `meta_key` = REPLACE( `meta_key`, 'wp_', 'newprefix_' )</p>
<p>

برای به روز رسانی تنظیمات جداول نیز کوئری زیر را در phpmyadmin وارد نمایید:

<br />
UPDATE `newprefix_options` SET `option_name` = 'newprefix_user_roles' WHERE `option_name` = 'wp_user_roles'</p>
<p>

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

۱- تغییر نام در هر جدول 
۲- به روز رسانی جدول یوزرمتا
۳- به روز رسانی جداول تنظیمات 

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

پایان جلسه ی بیست و یکم

پیروز باشید

آیا این مقاله برای شما مفید بود؟
تقریبا
خیر

دیدگاهتان را بنویسید

ارسال دیدگاه به معنی این است که شما ابتدا قوانین ارسال دیدگاه را مطالعه کرده‌اید و با آن موافق هستید.

دیدگاه‌های این نوشته جدید ترین ها شاخص

  1. 9 سال عضو همیار وردپرس

    با سلام و تشکر از مطالب عالیتنون
    مشکلی که باش برخورد کردم این بودکه بعد از اعمال تغییرات در کلید ها صفحه لاگین سایت نمایش داده نمیشه و یک صفحه سفید و خالی نمایش داده میشه.؟؟ یک بار دیگه هم که یه پلاگین امنیتی نصب کرده بودم این مشکل پیش اومد که از داخل cpanel حذفش کردم تا درست شد.
    سوال دیگه هم این بود که با افرونه Ithems security کلیه این کارها رو میشه انجام داد؟
    ممنون میشم راهنمایی کنید.

  2. 9 سال عضو همیار وردپرس

    سلام.
    این قسمت که گفتید : <>
    چطور میشه کدهای یکتا و شخصی سازی شده برای سایتمون بسازیم؟!
    تو کامنتهام جواب قانع کننده ای ندیدم.یا اگرم بود برعکس اون جملست. لطفا توضیح بیشتر میدین؟

    • 10 سال عضو همیار وردپرس

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

  3. سلام … من الان میخام یه سایت وردپرسی بسازم ولی نمیدونم کلا برای امنیت چه افزونه هایی نصب کنم که دیگه تقریبا مشکل امنیتی تا حدودی برطرف بشه!؟؟ آخه یه سری دوستان هستن که گفتن بعد از نصب این افزونه سایتشون به فنا رفته!!! نحوه تنظیمات این افزونه چه جوری باید باشه که مشکلی برا ی سایت ایجاد نکنه؟ همین افزونه کافیه برا امنیت یا چیزای دیگه ای هم باید نصب بشه ؟؟ ممنون میشم در این موارد راهنمایی بفرمایید 🙂

    • 10 سال عضو همیار وردپرس

      سلام
      اجازه بدید مدرسه ی همیار وردپرس را بروز میکنیم. و افزونه های مورد نیاز هم نام می بریم.

  4. سلام و تشکر از توجهتون
    جمله خودتون تو همین آموزش هستش بعد از 8 ککد امنیتی
    فقط دقت کنید! این کد فقط به عنوان نمونه و مثال قرار گرفته و شما باید برای سایتتون کدهای یکتا و شخصی سازی شده ای بنویسید.

    • 10 سال عضو همیار وردپرس

      آهان!
      منظورم اون کاراکترهای پیش فرض مثل
      [w$u#*IL-lLtigU?Un)DY>DSbE}C -<d*+Z{gzc}Qw~p%o%g+INE3MiLBsT@%fjf

      هست

  5. سلام و روز بخیر تشکر از آموزش بسیار عالیتون
    1-چطور برای سایت کدهای یکتا و شخصی سازی شده ای بنویسیم؟
    2-این قسمت هر کاراکتری که بزاریم خودمون درسته؟
    $table_prefix = ‘asdfadsfa894sdms_’;
    بعد از نصب افزونه Ithems security و فعال کردنش چه کاری باید انجام دهیم؟
    3- من فایل wp-config.php ویرایش و 8 تا کد جایگزین کردم و افزونه Ithems security نصب کردم ایا ایمن سازی کامل شده؟

    • 10 سال عضو همیار وردپرس

      سلام ، روز شما هم بخیر
      1- منظور رو متوجه نمیشم! کدهای یکتا یعنی چی ؟ برای چه قسمتی؟
      2- بله موردی نداره ، ما به صورت پیش فرض قرار دادیم. پس از نصب اطلاعات سایت خود را وارد کنید تا افزونه عملکرد خودش رو آغاز کنه.
      3- این بخشی از ایمن سازی برای پایگاه داده ی سایت شماست

  6. سلام
    اون هشت قطعه کد امنیتی معنای خاصی دارن یا هر مجموعه کاراکتری که خودمون بخوایم میتونیم بزاریم؟؟

    • 10 سال عضو همیار وردپرس

      سلام
      خیر دقیقا باید به صورت قطعه کدی که گذاشته شده استفاده شود.

  7. سلام
    برای به روز رسانی جداول usermeta ، کدهایی را که نوشتید باید در کدام قسمت وارد کنیم؟

    • 10 سال عضو همیار وردپرس

      سلام
      همونطور که در محتوا گفته شده باید در wp-config.php گذاشته بشه

  8. سلام
    من تمام تنظیمات امنیتی که تو مطلب هاتون خوندم رو جز به جز اعمال کردم ولی هر کاری میکنم نمیتونم پیشوند جداول رو تغیر بدم وقتی تغییر میدم سایتم بالا نمیاد در ضمن من از افزونه hide my wp هم استفاده میکنم لطفا راهنماییم کنید

    • 10 سال عضو همیار وردپرس

      سلام
      وقتی از افزونه استفاده میکنید برای چی دیگه تغییراتی رو اعمال میکنید.
      لطفا دقت کنید! این موارد ممکنه سایت شما رو کلا بهم بریزه

    • سلام
      من سه کاری که گفتید دستی انجام دادم
      1- تغییر پیشوند در فایل کانفیگ
      2- تغییر پیشوند اسامی تیبل ها در دیتابیس
      3- آپدیت کردن رکوردهای تیبل متایوزر با همون کدی که خودتون نوشتید
      4- آپدیت کردن رکوردهای تیبل آپشن
      وقتی با یوزرم وارد سایت میشم پیام فارسی میاد “شما مجوز کافی برای دسترسی به‌این برگه را ندارید.”
      لطفا راهنمایی بفرمایید.

    • 10 سال عضو همیار وردپرس

      سلام
      مگه با اکانت ادمین وارد نمیشید ؟