نوشته‌ها

چند روش برای بالا بردن امنیت مدیریت محتوا

قبلا در مورد امنیت سیستم های مدیریت محتوا مطالبی در همین سایت ارسال کرده بودیم ، در این مطلب سعی کردیم چند روش کلی برای تمام سیستم های مدیریت محتوا و یا سایت های استاتیک معرفی کنیم که با انجام این کار ها امنیت سایت شما بهتر می شود.

سطح دسترسی فایل های دیتابیس :

بهتر است سطح دسترسی فایل های پیکربندی (config) دیتابیس ( database ) را محدود کنید. در سیستم های suphp می توانید این فایل سطح دسترسی این فایل را روی ۴۰۰ تنظیم کنید و در سیستم های dso باید آن را روی ۴۴۴ تنظیم کنید. بعد از تغییر سطح دسترسی برای ویرایش آن لازم است ابتدا سطح دسترسی این فایل ها را روی ۶۴۴ تنظیم کنید و سپس پس از ویرایش مجدد محدود کنید.

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

سطح دسترسی فایل INDEX :

با تغییر سطح دسترسی فایل های Index در suphp روی ۴۰۰ امکان ویرایش این فایل دیگر وجود ندارد البته امکان حذف آن وجود دارد به همین دلیل امنیت این روش ۱۰۰ درصد نیست اما بهتر است استفاده شود. با انجام این کار ها حداقل می توانید از ورود هکر های تازه کار جلوگیری کنید.

انتقال سایر فایل های index به صفحه اصلی با htaccess :

هکر ها می توانند فایل های index دیگری روی هاست شما ایجاد کنند و با این روش صفحه آن ها لود می شود. برای جلوگیری از این مورد کافیست صفحه Index پیش فرض هاست را تغییر دهید و سایر فایل ها را به صفحه اصلی خود ری دایرکت ( Redirect) کنید. به این ترتیب در صورت ایجاد سایر فایل های index این فایل ها پیش فرض نیستند و محتوا صفحه اصلی شما تغییر نمی کنند و همچنین در صورت باز شدن مستقیم این فایل اجرا نمی شود و به صفحه اصلی شما منتقل می شود. برای امنیت بیشتر سطح دسترسی htaccess را روی ۴۰۰ تنظیم کنید.

برای redirect کردن فایل ها می توانید از دستور زیر استفاده کنید :

RedirectMatch 301 /index.html http://www.damaneshoma.com/index.php

در مثال بالا با باز کردن فایل index.html آدرس به index.php تغییر می کند.

جلوگیری از اجرا شدن مستقیم سایر فایل های php : با وارد کردن کد زیر می توانید از اجرا شدن مستقیم فایل های php جلوگیری کنید. با استفاده از این روش در صورت ایجاد سایر فایل های php روی سرور شما امکان اجرا آن وجود ندارد. برای مثال اگر یک هکر یک فایل test.php را روی هاست شما آپلود کند با اجرا آن با خطا ۴۰۳ مواجه می شود. البته باید توجه داشته باشید که بعد از این کد فایل هایی که نیاز است مستقیم اجرا شوند را allow کنید.

<Filesmatch “.(php)$”>
order deny,allow
deny from all

سپس فایل Index.php را allow می کنیم

<Filesmatch “^index.php”>
order allow,deny
allow from all

سطح دسترسی فایل های htaccess :

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

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

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

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

انتخاب رمز های مدیریت :

از انتخاب رمز های ساده خودداری کنید. هکر ها می توانند با استفاده از چند نرم افزار در کمتر از چند دقیقه رمز شما را پیدا کنند. اگر رمز شما سخت باشد زمان پیدا کردن رمز شما هم بیشتر می شود. با ایجاد رمز های بالا ۱۳ کاراکتر (حروف و عدد) تصادفی ،پیدا کردن رمز ها ممکن است بیش از ۱ ماه به زمان نیاز داشته باشد.

تغییر تمام رمز ها به صورت دوره ای :

تمام رمز ها را هر ۱ ماه یکبار تغییر دهید تا هکر ها امکان پیدا کردن رمز شما را نداشته باشند.

عدم استفاده از یک رمز برای چند بخش :

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

اسکن فایل های هاست در سی پنل با ClamAV

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

عدم استفاده از سطح دسترسی بالا در هاست :

در بعضی از سیستم های مدیریت محتوا برای استفاده از چند امکان آن باید سطح دسترسی یک فایل یا پوشه را به ۶۶۶ یا ۷۷۷ تغییر دهید. به عنوان مثال برای آپلود شدن فایل ها و عکس ها در وردپرس لازم است سطح دسترسی پوشه uploads در سیستم های suphp به ۷۵۵ و در dso به ۷۷۷ تغییر داده شود. بهتر است این تغییرات را اعمال نکنید و فایل هایی که لازم است آپلود شوند را توسط سی پنل و یا ftp آپلود کنید. هکر ها می توانند با استفاده از این دسترسی فایل های خود را در این پوشه آپلود کنند اما در صورت محدود کردن این دسترسی امکان آپلود فایل های شل توسط هکر وجود ندارد.

غیر فعال کردن چند امکان سیستم های مدیریت محتوا :

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

تغییر آدرس پنل مدیریت سیستم های مدیریت محتوا :

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

تغییر پیشوند جدول (table) های دیتابیس :

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

تغییر نام کاربری admin :

معمولا کاربران برای ورود به پنل مدیریت از نام کاربری admin استفاده می کنند. بهتر است برای امنیت بیشتر این نام کاربری را تغییر دهید. معمولا هکر ها سعی می کنند با استفاده از نرم افزار ها رمز های کاربری admin را تست می کنند.

عدم استفاده از قالب ها و با پلاگین های غیر معتبر:

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

در مورد بالا بردن امنیت سیستم مدیریت محتوا خود در اینترنت جستجو کنید

آموزش ساخت A record,CNAME record,TXT record درهاست لینوکس DirectAdmin

جهت ساخت موارد A Record یا CNAME record یا TXT record و یا NS Record ، در کنترل پنل DirectAdmin مراحل زیر می بایست طی شود:

در صورتی که مایل به ساخت A Record هستید:

۱- می بایست ابتدا به کنترل پنل خود وارد شود(جهت ورود میتوایند از آدرس http://yourdomainname.com:2222 استفاده نمایید که به جایyourdomainname  نام دامنه خود را وارد نمایید).

۲- سپس به قسمت DNS Management وارد شوید.

۳- در قسمت Add Domain Records، ابتدا ساب دامین و آی پی سرور هاست دوم را در کادر مربوطه وارد کنید.  سپس روی Add کلیک کنید، نهایتا بر روی Save  کلیک کنید.

چناچه مایل به ساخت CNAME Record  هستید

۱- می بایست ابتدا به کنترل پنل خود وارد شود(جهت ورود میتوایند از آدرس http://yourdomainname.com:2222 استفاده نمایید که به جایyourdomainname  نام دامنه خود را وارد نمایید).

۲- سپس به قسمت DNS Management وارد شوید.

۳- در قسمت Add Domain Records :

در قسمت CNAME در جاهای خالی نام دامنه یا زیر دامنه فعلی و آدرس جایی که زیر دامنه باید به آن متصل شود را بنویسید.

پس از آن روی Add کلیک کنید و سپس بر روی Save کلیک کنید.

در صورتی که مایل به ساختTXT Record  هستید

۱- می بایست ابتدا به کنترل پنل خود وارد شود(جهت ورود میتوایند از آدرس http://yourdomainname.com:2222 استفاده نمایید که به جایyourdomainname نام دامنه خود را وارد نمایید).

۲- سپس به قسمت DNS Management وارد شوید.

۳- در قسمت Add Domain Records:

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

پس از آن روی Add کلیک کنید و در آخر  بر روی Save کلیک کنید.

در صورتی که مایل به ساخت NS Record هستید

۱- می بایست ابتدا به کنترل پنل خود وارد شود(جهت ورود میتوایند از آدرس http://yourdomainname.com:2222 استفاده نمایید که به جایyourdomainname  نام دامنه خود را وارد نمایید).

۲- سپس به قسمت DNS Management وارد شوید.

در قسمت NS در جاهای خالی نام دامنه زیر دامنه فعلی و آدرسIP  جایی که زیر دامنه باید به آن متصل شود را بنویسید.

پس از آن روی Add کلیک کنید و سپس بر روی Save کلیک کنید.

آشنایی با PhpMyAdmin و نسخه های مختلف آن

PhpMyAdmin ( پی اچ پی مای ادمین ) یک نرم افزار Web Based نوشته شده به زبان PHP به منظور فراهم آوردن یک Interface کامل برای مدیریت دیتابیس های MySQL است که از ابتدا به عنوان یک پروژه Open Source توسعه یافته و به ۸۰ زبان زنده دنیا ترجمه شده است. بزرگترین کمپانی های هاستینگ و توسعه دهندگان کنترل پنل هایی نظیر cPanel و Directadmin این نرم افزار را بر روی سرورهای خود نصب نموده و استفاده از آن را به کاربران خود توصیه می کنند.

بوسیله PhpMyAdmin می توان دستورات اصلی MySQL را بر روی دیتابیس های موجود در سرور اجرا نمود. در ادامه برخی از ویژگی های این نرم افزار قدرتمند و محبوب را با هم مرور می کنیم.

  • Create و Drop کردن دیتابیس
  • مدیریت دیتابیس های MySQL ( مای اس کیو ال ) و MariaDB ( ماریا دی بی )
  • Import دیتابیس در فرمت های SQL و CSV یا بصورت فایل فشرده
  • بک آپ گیری از دیتابیس در فرمت های CSV ، SQL ، XML و PDF
  • مدیریت یکپارچه چندین سرور
  • مدیریت کاربران و سطح دسترسی آنها
  • جستجو سراسری در تمامی دیتابیس ها
  • نمایش میزان Connection ها و مصرف CPU/Memory بصورت نمودارهای گرافیکی
  • Cross-Platform بودن و نصب بر روی سیستم عامل های مختلف

آنچه تا کنون درباره آن صحبت کردیم خلاصه ای از ویژگی ها کلی PhpMyAdmin بوده است. در ادامه با ویژگی های این نرم افزار در نسخه های مختلف آشنا می شویم.

نسخه های مختلف PhpMyAdmin و ویژگی های آنها

در بخش قبل به اختصار با برخی از قابلیت های PhpMyAdmin آشنا شدیم. در این قسمت بصورت دقیق تر به تفاوت نسخه های مختلف و Feature های اضافه شده در هر نسخه می پردازیم.

آخرین نسخه منتشر شده توسط تیم پشتیبانی این نرم افزار ، نسخه ۴٫۶ می باشد. در ادامه تفاوت نسخه های مختلف از نسخه ۳٫۰ تا ۴٫۶ آورده شده است.

PhpMyAdmin 3.0
نسخه ۳٫۰ در سال ۲۰۰۸ معرفی شده و برای نصب آن نیاز به PHP 5.2 و MySQL 5+ می باشد. نصب این نسخه به هیچ عنوان پیشنهاد نمی گردد چرا که دارای ضعف های امنیتی متعددی بوده و توسط تیم برنامه نویسی و توسعه پشتیبانی نمی گردد.

PhpMyAdmin 3.5
با آپگرید به نسخه ۳٫۵ قابلیت های زیادی به PhpMyAdmin اضافه خواهد شد. از برخی از این قابلیت ها می توان به استفاده از تکنولوژی AJAX در انجام Task های مختلف ، معرفی Theme جدید و بهبود مانیتورینگ MySQL Server از طریق بخش Status اشاره نمود. استفاده از Synchronization جهت همسان سازی ۲ دیتابیس هم بصورت لوکال و هم بصورت ریموت از دیگر موارد اضافه شده در این نسخه می باشد.

PhpMyAdmin 4.0
حذف Synchronization را می توان یکی از اساسی ترین تغییرات این نسخه به شمار آورد. البته این بدان معنا نیست که امکان همسان سازی ۲ دیتابیس از PhpMyAdmin حذف شده است ، بلکه با عرضه این نسخه می توان ۲ دیتابیس را از طریق Replication با یکدیگر همسان نمود. قابلیتی که در نسخه ۳٫۵ نیز وجود داشت اما بصورت آزمایشی بوده و حالا در نسخه ۴٫۰ تکمیل و به مرحله اجرا رسیده است.

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

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

بسته به تنظیمات سرور خود به این مسیر بروید:

حال این تغییرات را اعمال نمایید:

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

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

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

به سادگی پس از اجرای این sql توسط ابزار import در phpmyadmin جداول و دیتابیس های بالا ایجاد می گردد.

PhpMyAdmin 4.4
برای نصب این ورژن نیاز به PHP 5.3 و MySQL 5.5+ می باشد. بخش Recent و Favorites که به ترتیب نمایش دهنده آخرین دستورات اجرا شده و Favorite Table می باشند در این نسخه به PhpMyAdmin اضافه شده اند. همچنین در این نسخه Designer بصورت پیش فرض فعال می باشد. قابلیت Ajax در هنگام اضافه نمودن Table جدید نیز حذف شده است.

Feature جدیدی نیز با نام Console در این نسخه اضافه شده است (با آیکن ترمینال و نام Console در پایین صفحه سمت چپ قابل مشاهده می باشد) که بوسیله آن می توان دستورات MySQL را بصورت Interactive اجرا نمود. تنها کافیست کوئری خود را در باکس مشخص شده وارد نموده و برای اجرای آن CTRL+ENTER را فشار دهید.

PhpMyAdmin 4.6
آخرین نسخه Stable و قابل نصب نیاز به PHP 5.5 بر روی سرور دارد. پشتیبانی از نسخه ۶ مرورگر IE به اتمام رسیده و یک Directive جدید به نام ssl_verify جهت رفع مشکل گواهی نامه های self-signed معرفی شده است که برای استفاده از آن می بایست نسخه PHP را به ۵٫۶ ارتقا داد. از دیگر تغییرات می توان به قابلیت بررسی Syntax کوئری های وارد شده در Console ، رفع مشکل تغییر کلمه عبور در دیتابیس های MariaDB و امکان پشتیبانی از JSON اشاره نمود.

تب جدیدی نیز با نام Plugins ایجاد شده که نشان دهنده اطلاعات تکمیلی در خصوص پلاگین های نصب شده بر روی MySQL Server می باشد.

نصب PhpMyAdmin

حال که با تفاوت نسخه های مختلف آشنا شدیم به سراغ نصب PhpMyAdmin می رویم. جهت نصب PhpMyAdmin تنها می بایست فایل مورد نظر را از سایت رسمی آن دانلود و برخی تغییرات را در تنظیمات وب سرور اعمال نماییم.

نصب بر روی آپاچی
ابتدا نسخه مورد نظر را از طریق لینک زیر بر روی سرور دانلود می نماییم:

معمولا مدیران سرور PhpMyAdmin را در یکی از مسیرهای زیر نصب می کنند.

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

مسیر پیش فرض نصب سرویس آپاچی etc/httpd/ می باشد. اما چنانچه فایلی در این مسیر وجود نداشت می توان از طریق دستورات زیر فایل های تنظیمات آپاچی را پیدا نمود.

حال با یکی از نرم افزار های ویرایش متن وارد فایل تنظیمات شده و Alias مورد نظر را ایجاد نماییم. این مورد را با یک مثال بر روی سیستم عامل CentOS بررسی می کنیم.

همان طور که مشاهده می نمایید در مثال بالا برای پوشه phpMyAdmin قرارگرفته در مسیر var/www/html/ یک Alias تعریف نموده ایم. در آخر نیز سرویس آپاچی را ریستارت می کنیم.

در نتیجه با وارد نمودن آدرس http://server-ip/phpmyadmin در مرورگر محتویات این پوشه نمایش داده خواهد شد.

نصب در DirectAdmin
تنها تفاوت نصب در دایرکت ادمین با بخش قبلی مسیر فایل تنظیمات وب سرور می باشد. تنظیمات Alias در دایرکت ادمین در فایل دیگری به مسیر زیر ذخیره می گردد.

نسخه پیش فرض PhpMyAdmin نصب شده بوسیله Custombuild 1 برابر با ۴٫۰ می باشد که می توان آن را بصورت Manual ارتقا داد. ضمنا با آپگرید Custombuild به نسخه ۲ و اجرای دستور build update/. آخرین نسخه PhpMyAdmin بر روی سرور نصب خواهد شد.

نصب در cPanel
مسیر قرار گیری phpMyAdmin در سی پنل بصورت زیر می باشد. فایل phpMyAdmin را دانلود و در این مسیر extract می نماییم.

نسخه پیش فرض نصب شده بر روی cPanel 12 ، نسخه ۴٫۰ به همراه PHP 5.6 می باشد.

نصب بر روی Nginx
نصب بر روی انجینیکس مستلزم انجام بعضی تغییرات بر روی سرور می باشد.بصورت پیش فرض Nginx در مسیر etc/nginx/ نصب می گردد.

ابتدا مسیر اصلی قرار گیری فایل های وبسایت خود را مشخص می نماییم .

همانند تنظیمات آپاچی فایل PhpMyAdmin را دانلود و در یکی از مسیرهای مشخص شده Extract می کنیم.سپس Alias مورد نظر را در فایل default ایجاد می کنیم.

در آخر نیز سرویس nginx را ریست می کنیم.

چنانچه در هنگام لود فایل های PHP در Nginx با مشکل عدم نمایش این نوع فایل ها مواجه شده و در عوض باکس دانلود فایل نمایش داده شد ، می بایست تغییرات زیر را در فایل default( و یا فایل تنظیمات nginx برای وبسایت مربوطه) اعمال نماییم(تغییرات زیر بر روی Nginx 1.10 و PHP7.0 انجام شده است)

تنظیمات کامل Nginx برای اجرای فایل های PHP و اتصال به دیتابیس از طریق PhpMyAdmin به شکل زیر می باشد.

 

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

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

یکی از پایه ای ترین روش ها که در کنترل پنل های مختلف از جمله  سی پنل و دایرکت ادمین پشتیبانی می شود قابلیت Password Protect و یا محافظت از طریق قرار دادن کلمه عبور بر روی پوشه های مدیریتی است. در حالت پیشفرض  فایل های مدیریتی ورد پرس در پوشه wp-admin قرار دارند. لذا پس از ورود به ناحیه کاربری خود به پنل میزبانی دایرکت ادمین و سی پنل بروید. در کنترل پنل دایرکت ادمین به بخش مدیریت فایل ها رفته و در ستون Action روی دکمه Protect کلیک نمایید. در پنجره باز شده در اولین کادر عبارت Member’s Area را وارد نمایید و در کادر های بعدی نام کاربری و کلمه عبور مورد نظر جهت دستیابی به پوشه های محافظت شده را وارد نمایید. در انتها مربع Protection Enabled را تیک زده و تغییرات را ذخیره نمایید. همچنین در سی پنل با کلیک راست روی پوشه مورد نظر می توانید Password Protect را برای دایرکتوری مدیریت انتخاب کنید و از درون صفحه باز شده نام کاربری و عبور برای آن ایجاد نمایید.

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

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_URI} ^/wp-login\.php(.*)$ [OR] RewriteCond %{REQUEST_URI} ^/wp-admin$
RewriteCond %{REMOTE_ADDR} !^123\.123\.123\.123$
RewriteCond %{REMOTE_ADDR} !^123\.123\.123\.124$
RewriteRule ^(.*)$ – [R=403,L] </IfModule>

 که در آن عبارت ۱۲۳\.۱۲۳\.۱۲۳\.۱۲۳ آی پی استاتیک اینترنتی شماست. در پایان تنها کاربری که از این آی پی اقدام به ورود به بخش مدیریتی میکند مجاز به دسترسی خواهد بود.

سیزده کوئری مفید وردپرس که هر مدیر وب سایتی باید بداند

همانطور که می دانید وردپرس که محبوب ترین ابزار مدیریت محتوا در جهان است، از دیتابیس Mysql  استفاده می کند. Mysql یک سیستم رایگان مدیریت ارتباطی دیتابیس است که برروی اکثر سرویس های میزبانی وب وجود دارد. همه ی اطلاعاتی که درون وردپرس وارد می نمایید، به غیر از فایل های وبسایت شما در داخل دیتابیس قرار می گیرند. به عبارت دیگره متن پست ها، کامنت ها، دسته بندی ها و همه ی تنظیماتی که در بخش مدیریت وردپرس انجام می دهید در داخل دیتابیس Mysql ذخیره می شوند. بنابراین آشنایی با کاربری دیتابیس می تواند در مدیریت وبسایت به شما کمک شایانی نماید. پیش از این در مقاله ی دیگری نحوه ی ساخت دیتابیس و مدیریت آن بوسیله ی نرم افزار phpMyAdmin در هاست ابری را در مقاله دیگری توضیح داده بودیم و در این مقاله سیزده کوئری بسیار کاربردی را معرفی خواهیم کرد که به کمک آنها می توانید  وبسایت وردپرس خود را بهتر مدیریت نمایید.

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

گرفتن بک آپ از دیتابیس وردپرس

 همیشه سعی نمایید از داده های خود قبل از هر تغییری بک آپ تهیه نمایید. این به شما اطمینان خاطر خواهد داد که اگر اتفاق ناگواری با تغییرات بوجود آید، شما می توانید سایت را به حالت اولیه باز گردانید. شما می توانید از پلاگین های WP-DB-Backup یا WP-DBManager استفاده نمایید که از طریق بخش ادمین وردپرس امکان تهیه بک آپ دیتابیس را فراهم می کنند. همچنین شما می توانید به کمک مراحل زیر، از طریق phpMyAdmin به صورت دستی از دیتابیس بک آپ تهیه نمایید.

  ابتدا وارد phpMyAdmin شوید.

۱٫    دیتابیس وردپرس را انتخاب کنید.

۲٫    بر روی Export در قسمت بالای نوار ابزار کلیک نمایید.

۳٫   جدولی را که می خواهید بک آپ بگیرید را مشخص نمایید و یا همه ی جداول را برای تهیه ی بک آپ از کل دیتابیس انتخاب نمایید.

۴٫    SQL را برای دریافت فایل با پسوند .sql انتخاب نمایید.

۵٫    گزینه ی “Save as file” را انتخاب نمایید.

۶٫   در بخش فشرده سازی gzipped را برای دریافت فایل با حجم کمتر انتخاب نمایید.

۷٫   درآخر بروی GO کلیک نمایید و یک پنجره ی دانلود ظاهر می شود که از شما خواهد خواست، فایل را ذخیره نمایید.

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

۱۳ کوئری SQL برای وردپرس

یک راه ساده برای اجرای هر کدام از کوئری های زیر استفاده از phpMyAdmin می باشد. این ابزار یکی از معمولی ترین ابزارهای مراجعه و ایجاد تغییرات در دیتابیس می باشد. تقریبا تمام کنترل پنل های موجود این ابزار را دارا می باشند. البته شما می توانید از پلاگین WordPress SQL Executioner نیز برای اجرای کوئری های وردپرس استفاده نمایید. برای وارد کردن کوئری های مورد نظر لطفا با استفاده از phpMyAdmin مراحل زیر را دنبال نمایید.

۱٫    وارد phpMyAdmin شده و دیتابیس وردپرس را انتخاب نمایید.

۲٫   بر روی زبانه ی SQL کلیک نمایید که شما را به یک صفحه با کادری برای کوئری SQL میبرد.

توجه : همه ی کوئری ها، کوئری مستقیم SQL هستند و پیشوند استاندارد ‘wp_’ را برای جداول فرض خواهند کرد. اگر از پیشوند متفاوتی استفاده می کنید، کوئری ها را به همان شکل تغییر دهید.

۱٫ تغییر آدرس سایت ( SITEURL و HOMEURL )

وردپرس مسیر نهایی آدرس سایت و خانه را در دیتابیس ذخیره می کند. بنابراین اگر وردپرس را از روی رایانه ی خود ( local host ) به سرور منتقل نموده اید و یا آدرس وبسایت را تغییر داده اید ، سایت شما بارگزاری نخواهد شد. دلیل این امر مسیر نهایی آدرس سایت است که هنوز به localhost یا آدرس قبلی وبسایت اشاره می کند. برای راه اندازی مجدد سایت، شما می بایست آدرس سایت و خانه را اصلاح نمایید.

راه حل:

UPDATE wp_options SET option_value = replace (option_value, ‘http://www.oldsiteaurl.com’, ‘http://www.newsiteurl.com’) WHERE option_name = ‘home’ OR option_name = ‘siteurl’;

۲٫ تغییر GUID

بعد از انتقال سایت از localhost به سرورتان، یا از یک دامنه به دامنه ی دیگر، شما می بایست آدرس ها را برای GUID field در جدول wp_posts اصلاح نمایید. این موضوع حیاتی است، زیرا GUID برای ترجمه ی پست ها و کد شماره ی صفحه به مسیر نهایی مطلب درست، در صورتی که به اشتباه وارد شده باشند، لازم است.

راه حل:

UPDATE wp_posts SET guid = REPLACE (guid, ‘http://www.oldsiteurl.com’, ‘http://www.newsiteurl.com’);

۳٫ تغییر آدرس در محتوا

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

راه حل:

UPDATE wp_posts SET post_content = REPLACE (post_content, ‘http://www.oldsiteurl.com’, ‘http://www.newsiteurl.com’);

۴٫ فقط تغییر آدرس تصاویر

اگر تصمیم دارید که تصاویر را بر روی سرور دیگری ذخیره کنید، تا ترافیک بارگزاری تصاویر از روی سرور شما نباشد، می توانید از کوئری زیر برای تغییر مسیر همه ی تصاویر در وردپرس به بارگزاری از روی سرور دیگری استفاده نمایید. لازم به توضیح است که آدرس “http://yourcdn.newsiteurl.com” برابر با آدرس سرور جدید محل میزبانی تصاویر شما می باشد.

راه حل:

UPDATE wp_posts SET post_content = REPLACE (post_content, ‘src=”http://www.oldsiteurl.com”‘, ‘src=”http://yourcdn.newsiteurl.com”‘);

شما همچنین نیاز خواهید داشت که با استفاده از کوئری زیر GUID را برای تصاویر الصاق شده، اصلاح نمایید.

UPDATE wp_posts SET guid = REPLACE (guid, ‘http://www.oldsiteurl.com’, ‘http://yourcdn.newsiteurl.com’) WHERE post_type = ‘attachment’;

۵٫ به روز کردن META پست ها

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

راه حل:

UPDATE wp_postmeta SET meta_value = REPLACE (meta_value, ‘http://www.oldsiteurl.com’,’http://www.newsiteurl.com’);

۶٫ تغییر نام کاربری “admin” پیش فرض

با نصب وردپرس به صورت پیش فرض یک اکانت با نام کاربری Admin ساخته می شود. این یک مورد کلی است که هر کسی که از وردپرس استفاده می کند، آن را می داند. اما همین مسئله می تواند یک مشکل امنیتی بزرگ باشد، زیرا که هکر می تواند با استفاده از BruteForce رمز عبور ادمین وردپرس را بیابد. اگر شما بتوانید نام کاربری پیش فرض ادمین را تغییر دهید، شما امنیت پنل ادمین وردپرس خود را به میزان قابل توجهی افزایش داده اید.

راه حل:

UPDATE wp_users SET user_login = ‘Your New Username’ WHERE user_login = ‘Admin’;

۷٫ تغییر رمز عبور

آیا هیچ وقت خواسته اید که رمز عبور خود را داخل وردپرس تغییر دهید، اما به نظر رسیده که ریست پسورد به دلیل نا مشخصی کار نمی کند؟

راه حل:

UPDATE wp_users SET user_pass = MD5( ‘new_password’ ) WHERE user_login = ‘your-username’;

۸٫ اختصاص دادن همه ی مقاله های نویسنده ی B به نویسنده ی A

اگر شما می خواهید که تمام مقالات نویسنده ی B را به نام نویسنده ی A تنظیم نمایید، این امر بسیار زمانبر خواهد بود. به کمک کوئری SQL زیر شما به آسانی می توانید تمام رکوردها را بررسی کرده و تغییرات را ایجاد نمایید.

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

راه حل:

UPDATE wp_posts SET post_author = ‘new-author-id’ WHERE post_author = ‘old-author-id’;

۹٫ پاک کردن پشتیبان پست ها ( Revision )

رویژن ها نسخه های پشتیبانی هستند که وردپرس به هنگام ویرایش، برای هر پست نگهداری می کند تا امکان بازگشت تغییرات یک پست تا ۲۵ مرحله برای شما فراهم باشد. این امکان بسیار مفیدی است اما موجب می شود که دیتابیس شما کمی سنگین شود. برای حذف رویژن ها می توانید از کوئری زیر استفاده نمایید.

راه حل:

DELETE a,b,c FROM wp_posts a LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id) LEFT JOIN wp_postmeta c ON (a.ID = c.post_id) WHERE a.post_type = ‘revision’ ;

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

۱۰٫ لیست تمام ایمیل های کامنت ها، بدون تکرار

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

راه حل:

SELECT DISTINCT comment_author_email FROM wp_comments;

۱۱٫ حذف کردن یک pingback

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

راه حل:

DELETE FROM wp_comments WHERE comment_type = ‘pingback’;

۱۲٫ پاک کردن همه ی کامنت های اسپم

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

راه حل:

DELETE FROM wp_comments WHERE comment_approved = ‘spam’;

۰= کامنتی که در انتظار تایید است

۱= کامنت تایید شده

Spam= کامنت هایی که به عنوان اسپم شناخته شده اند.

۱۳٫ شناسایی Tag های استفاده نشده

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

راه حل:

SELECT * From wp_terms wt INNER JOIN wp_term_taxonomy wtt ON wt.term_id=wtt.term_id WHERE wtt.taxonomy=’post_tag’ AND wtt.count=0;

تغییر رمز کنترل پنل هاست دایرکت ادمین

۱- آدرس کنترل پنل هاست دایرکت ادمین http://www.yourdomainname:2222 بوده و مشخصات آن قبلا به آدرس ایمیل شما ارسال شده است)توجه نمایید yourdomainname نام دامنه ی شما می باشد).

۲-پس از ورود به کنترل پنل هاست دایرکت ادمین منوی password را انتخاب نمایید.

۳-در قسمت Enter old password رمز عبور قبلی خود را وارد نمایید سپس رمز عبور دلخواه را در قسمت Enter new password وارد نمایید و مجددا همان رمز را در قسمت Re-enter Password واردنمایید.

نکته : در صورتی که بر روی دکمه ی Random کلیک نمایید سیستم یک پسورد با امنیت بالا برای شما ایجاد خواهد کرد

نکته : در صورتی که گزینه ی Change the control panel access password را انتخاب نمایید این تغییر بر روی کنترل پنل هاست دایرکت ادمین اعمال خواهد شد

نکته :  در صورتی که گزینه ی Change the main FTP password را انتخاب نمایید این تغییر بر روی اکانت اف تی پی هاست دایرکت ادمین اعمال خواهد شد

نکته : در صورتی که گزینه ی Change the main database username password (marketi8) را انتخاب نمایید این تغییر بر روی بانک اطلاعاتی هاست دایرکت ادمین اعمال خواهد شد

۴ – جهت اعمال تغییر بر روی دکمه ی submit کلیک نمایید.

مشاهده آمار و گزارش دقیق میزان مصرف هاست لینوکس DirectAdmin

جهت مشاهده آمار و گزارش دقیق میزان مصرف هاست  مراحل زیر را طی نمایید:

۱- به کنترل پنل Direct Admin خود از طریق http://yourdomainname:2222 وارد شوید. (yourdomainname همان نام دامنه شما می باشدکه می بایست وارد گردد)

۲- در صفحه اصلی در قسمت Account Management برو روی گزینه Summary / Statistics کلیک کنید.

۳- در صفحه بعد کلیه آمار به صورت نمودار گرافیگی و به صورت جزئی قابل مشاهده می باشد.

نحوه تهیه بک آپ Backup در هاست لینوکس در DirectAdmin

 

برای تهیه بک آپ (Backup) از وب سایت خود در کنترل پنل دایرکت ادمین به روش زیر عمل کنید :

۱- ابتدا از آدرسhttp://yourdomainname:2222 به پنل خود وارد شوید (به جای yourdomainname آدرس دامنه خود را وارد کنید)

۲-در بخش Account Management بر روی ایکن Create/Restore Backups کلیک کنید.

۳- در بخش Backup All Domains ، موارد لازم برای بک آپ را تیک بزنید و نهایتا برای تهیه بک آپ بر روی Create Backup کلیک کنید.

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

۱- ابتدا از آدرسhttp:// yourdomainname:2222 به پنل خود وارد شوید. (به جای yourdomainname آدرس دامنه خود را وارد کنید)

۲-در بخش Account Management بر روی ایکن Create/Restore Backups کلیک کنید .

۳- در بخش Select a File to Restore یک ایتم از بک آپ های موجود در هاست خود را انتخاب کنید و سپس روی Select Restore Options کلیک کنید .

۴- گزینه های موجود در لیست را متناسب با نیاز خود برای ریستور انتخاب کنید سپس بر روی گزینه Restore selected Items کلیک کنید و نهایتا منتظر بمانید تا عملیات ریستور کامل شود.

برای دانلود فایل بک آپ خود به روش زیر عمل کنید :

۱- ابتدا از آدرس http:/yourdomainname:2222 به پنل خود وارد شوید.( به جای yourdomainname آدرس دامنه خود را وارد کنید)

۲- به آدرس زیر مراجعه کنید.

http://yourdomainname:2222/CMD_FILE_MANAGER/backups

۳- از لیست فایل های موجود ، فایل بک آپ مورد نیاز خود را دانلود نمائید.

برای تهیه بک آپ از بانک اطلاعاتی خود به روش زیر عمل کنید :

۱- ابتدا از آدرس http://yourdomainname:2222 به پنل خود وارد شوید. (به جای yourdomainname آدرس دامنه خود را وارد کنید(

۲- در بخش Account Management بر روی Mysql Management کلیک کنید.

۳- برای دانلود بک آپ هر یک از دیتابیس های موجود ،در ستون Download Backup بر روی دانلود کلیک کنید و فایل مورد نظر خود را دانلود نمائید .

کجای هاست من فضا را اشغال کرده ؟

برای پاسخ به ان سوال و یجهت مشاهده میزان فضای استفاده شده در Cpanel میتوانید پس از ورود به کنترل پنل از کادر Files گزینه Disk Space Usage را انتخاب نمایید.

du-cp

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

۱- فایل error_log در public_html یا هر پوشه دیگری که در آن اسکریپت نصب است .این فایل خطاهای موقت مربوط به اسکریپت را در خود نگهداری می کند و بصورت خودکار ایجاد میشود . حذف آن موردی ندارد .

۲- پوشه tmp که در home directory هاست (یک مسیر بالاتر از public_html) قرار دارد و اطلاعات مربوط به آمار سایت را در خود نگهداری می کند . حذف محتویات داخل این پوشه نیز موردی ندارد.

۳- ممکن است زمانی از هاستتان full backup تهیه کرده باشید . فول بکاپ سی پنل با پسوند .tar.gz بوده و درhome directory هاست (یک مسیر بالاتر از public_html) قرار دارد . اگر فایل بکاپ را نیاز ندارید می توانید آن را پاک کنید .

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

du2-cp

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