آیا تا به حال به این نکته توجه کردهاید که بیشتر URL سایتها با HTTPS شروع میشوند؟ همچنین متوجه این شدهاید که گاهی اوقات این S در HTTPS که به معنای امن (Secure) است وجود ندارد. به خاطر همین است که گوگل سایتهایی را که یک گواهی SSL ندارد را علامتدار میکند چون بخش مهمی از امنیت آن سایت را تشکیل میدهد.
از آنجا که امنیت یک سایت علی الخصوص یک سایت وردپرسی بسیار حیاتیست، باید بیشتر درباره HTTPS و SSL برای وردپرس بدانیم. کاری که قرار است در این مطلب انجام دهیم. شما با داشتن SSL و HTTPS روی سایت وردپرسی خود علاوه بر مزایای امنیتی، وضعیت بهتری در سئو هم پیدا خواهید کرد. پس برای اینکه از همه جهات سایت خود را ارتقا دهید، تا انتها این مطلب را مطالعه کنید.
فعال سازی SSL در وردپرس
HTTPS و SSL در وردپرس شانه به شانۀ هم حرکت میکنند. منظور از HTTP (در پیشوند اصلی URL) در واقع Hypertext Transfer Protocol به معنای پروتکل انتقال ابرمتن است. نصب یک گواهی SSL (مخفف Secure Sockets Layer به معنای لایۀ سوکتهای امن) در واقع HTTP را امن میکند. وقتی از یک گواهی SSL یا TSL درست روی سایت خود استفاده میکنید، پیشوند آدرس سایت از HTTP به HTTPS تغییر میکند: Hypertext Transfer Protocol Secure.
طبق تعریف شبکه توسعه موزیلا از HTTPS و SSL: «منظور HTTPS نسخۀ رمزگذاریشده پروتکل HTTP است که از گواهی SSL یا TSL برای رمزگذاری تمامی ارتباطات بین یک کلاینت و یک سرور استفاده میکند. این ارتباط امن به کلاینت اجازه میدهد که به طور امنی با یک سرور تبادل اطلاعات داشته باشد مانند انجام کارهای بانکی یا خرید آنلاین.»
اساسا HTTPS به این معناست که سایت شما به صورت سرتاسری (end-to-end) رمزگذاری شده است. به عبارت دیگر یعنی فقط کلاینتهای دو سر آن تبادل اطلاعات میتوانند به دادهها دسترسی داشته باشند. اگر یک کاربر مخرب یا یک خرابکار بخواهد از این ارتباط جلوگیری کند یا آن را دستکاری کند، چیزی به جز کاراکترهای نامفهوم بیسروته نصیبش نمیشود. این همان معنای رمزگذاریست.
شبکه توسعه موزیلا تعریف جامعتری نیز برای SSL ارائه کرده است: «لایه سوکتهای امن یا همان SSL نوعی فناوری امنیتی استاندارد قدیمی برای ساخت شبکهای رمزگذاری شده بین یک سرور و یک کلاینت بود که اطمینان حاصل میکرد تمامی دادهها به طور امن و خصوصی انتقال یابند. نسخه کنونی SLL نسخه 3.0 است که توسط Netscape در سال 1996 منتشر شده است و با نام TSL که مخفف Transport Layer Security به معنای امنیت لایه انتقال است، شناخته میشود.»
انواع SSL در وردپرس
حالا که متوجه شدیم منظور از SSL در وردپرس چیست، سراغ معرفی آن در 3 نوع اعتبارسنجی (Validation) و 4 نوع پیکربندی میرویم:
3 نوع اعتبارسنجی SSL
- اعتبارسنجی دامنه (DV)
در این نوع اعتبارسنجی (Domain Validation)، مرجع صدور گواهینامه، حق متقاضی را برای استفاده از یک نام دامنه خاص تایید میکند. هویت شخص یا شرکتی که پشت این دامین است مورد بازرسی قرار نخواهد گرفت و اگر کاربر روی نماد قفل کنار آدرس سایت کلیک کند، اطلاعات آن شرکت به نمایش درمیآید. همانطور که احتمالا حدس زدهاید این تقریبا پایهای ترین سطح اعتبارسنجی SSL است.
- اعتبارسنجی سازمانی (OV)
مرجع صدور گواهینامه حق متقاضی را برای استفاده از یک نام دامنه خاص و اعتبار سازمان پشت آن را چک میکند. اما این نوع اعتبارسنجی (Organization Validation) مقداری پیچیدهتر است ولی قانونی بودن دامنه را تضمین میکند و صاحبان آن شرکت را نیز شناسایی میکند. بنابراین اطمینان بیشتری به بازدیدکنندگان میدهد. از این نوع اعتبارسنجی معمولا سایتهای کسبوکارهای تجارت الکترونیکی و شرکتی استفاده میکنند.
- اعتبارسنجی مدید (EV)
مرجع صدور گواهینامه حق متقاضی برای استفاده از یک نام دامنه خاص را تایید میکند و آن سازمان را مورد بررسی دقیق قرار میدهد. این نوع اعتبارسنجی بالاترین سطح گواهی SSL است که نیاز به ارائه مدارک و مجوزهای قانونی برای تایید وجود شرکت دارد.
4 نوع پیکربندی SSL
در کنار این 3 نوع اعتبارسنجی، SSL در 4 نوع پیکربندی نیز وجود دارد:
- تک دامنه (Single Domain)
اگر میخواهید فقط از یک دامنه محافظت کنید، استفاده از SSL تک دامنه بهترین گزینه است. این گواهینامهها فقط در آدرس اصلی شما (website.com) پیادهسازی میشود که در تمامی سطوح اعتبارسنجی وجود دارد.
- چند دامنه (Multi-Domain)
این نوعی از گواهینامه است که فقط با یک گواهینامه SSL از چندین دامنه مراقبت میکند. توجه داشته باشید که این تعدد دامنهها بسته به نظر مرجع صدور گواهینامه میتواند محدود شود. این نوع SSL هم در تمامی سطوح اعتبارسنجی به جز EV در دسترس است.
- وایدکارت (Wildcard)
از این نوع SSL برای تک دامنههایی که دارای چندین سابدامین هستند استفاده میشود. مرجع صدور گواهینامه حق ایجاد محدودیت در تعداد سابدامینهایی که محافظت میشوند را دارد. این نوع گواهینامه SSL نیز در تمامی سطوح اعتبارسنجی به جز EV وجود دارد.
- وایدکارت چند دامنه (Multi-domain Wildcard)
این گواهینامه ترکیبی از SSL چند دامنه و وایلدکارت است. یعنی از تعدادی دامنه در آدرس اصلی در کنار سایر سابدامینها محافظت میکند. مانند قبلیها این SSL نیز میتواند توسط مرجع صدور گواهینامه دچار محدودیتهایی شود. به جز سطح اعتبارسنجی EV، بقیه سطوح از این نوع SSL پشتیبانی میکنند.
مزایای استفاده از SSL در وردپرس
تا اینجا متوجه شدیم که SSL در وردپرس چیست و چه انواعی دارد. حالا بهتر است سراغ مزایای استفاده از آن برویم. کاربران سایتهایی که SSL ندارند ممکن است توسط نرمافزارهای جاسوسی یا حتی باجافزارهای غیرقابل شناسایی آلوده شوند. اما داشتن SSL باعث دوری از این مشکل و ایجاد مزایای زیر میشود:
- اطمینان: به واسطۀ یک گواهینامه SSL بازدیدکنندگان میدانند که ارتباطشان با آن سایت رمزگذاری شده است که این باعث افزایش اعتماد و اعتبار میشود.
- وجاهت قانونی: چون واضح است که تمامی فعالیتها روی سایتی انجام میشود که شناخته شده و به خوبی ایمن شده است.
- امنیت: بازدیدکنندگان اطمینان پیدا میکنند که اطلاعاتشان رمزگذاری شده است و در برابر هر دسترسی شخص ثالث یا حملهای ایمن باقی میماند.
- رتبه گیری: گوگل از سایتهای دارای SSL و صفحات دارای HTTPS حمایت بیشتری انجام میدهد.
افزونه فعال سازی SSL در وردپرس
برای فعالسازی SSL در وردپرس میتوانیم از یک افزونه استفاده کنیم. افزونههای بسیاری در مارکت خود وردپرس وجود دارند که این کار را انجام میدهند اما بهترین افزونه در این زمینه Really Simple SSL یا Easy SSL است. این افزونه به طور خودکار سایت وردپرسی را به SSL منتقل میکند. پس اگر آدرس سایت شما همچنان پیشوند HTTP دارد، برای تبدیل آن به HTTPS بخش زیر را که مربوط به راهاندازی این افزونه است مطالعه کنید.
- افزونه Really Simple SSL را از مخزن وردپرس یا به صورت دستی نصب کنید.
- پس از نصب آن را با زدن روی دکمه Activate Plugin فعال کنید.
- سپس وارد تنظیمات خود افزونه شده و روی Activate SSL بزنید.
- سپس به طور خودکار از مدیریت وردپرس خارج میشوید.
- بعد از اینکه دوباره به ان وارد شدید، میبینید که این گواهینامه روی سایت شما فعال شده است.
آموزش راه اندازی SSL در وردپرس
جدا از نصب بوسیلۀ افزونه وردپرس، ما میتوانیم آن را به صورت دستی نیز نصب کنیم. برای اینکار مراحل زیر را دنبال کنید:
- وارد سایت sslforfree.com شوید.
- در صفحۀ اصلی سایت در قسمت آدرس بار موجود، آدرس سایتی که میخواهید گواهینامه SSL برایش صادر شود را وارد کنید و روی Create Free SSL Certificate کلیک کنید.
- بعد از آن به سمت صفحه ساخت حساب کاربری هدایت میشوید.
- بعد از ساخت این حساب دوباره وارد صفحه اصلی میشوید. در این صفحه روی New Certificate کلیک کنید.
- در مرحله بعدی، آدرس سایت را دوباره در باکس موجود وارد کرده و روی Next Step کلیک کنید.
- در این مرحله باید انتخاب کنید که یک SSL 90 روزه رایگان میخواهید یا یک SSL سالیانه پولی. با انتخاب گواهینامه SSL سه ماهه، باید پس از گذشت این زمان، به این سایت برگردید و آن را دوباره برای 90 روز دیگر احیا کنید. نوع SSL را انتخاب کنید و وارد مرحله بعد شوید.
- در این مرحله باید هویت خود و همچنین اینکه واقعا صاحب آن سایت هستید را اثبات کنید. این کار به 3 طریق ارسال ایمیل تایید، اضافه کردن یک رکورد CNAME به سرور هاست و یا از طریق آپلود فایل HTTP قابل انجام است. یکی از این روشها را انتخاب و هویت خودتان را تایید کنید و سپس روی Verify Domain کلیک کنید.
- پس از تایید اعتبار، گواهینامه شما تولید شده و شما میتوانید آن را دانلود کنید.
- حالا شما باید این فایل را در هاست خود آپلود کنید. بسته به اینکه از چه هاستی استفاده میکنید این روند ممکن است متفاوت باشد.
- معمولا در هاستها بخشی به نام SSL/TSL وجود دارد که با رجوع به آن بخش میتوانید فایل SSL خود را آپلود نمایید.
به این ترتیب سایت شما دارای گواهینامه SSL میشود.
رفع مشکل ریدایرکت از http به https بعد از نصب SSL در وردپرس
برای اینکار جدا از راه استفاده از افزونهها میتوانید چند کار انجام دهید. در واقع اگر ریدایرکت بعد از نصب SSL از طریق تنظیمات خود وردپرس به درستی انجام نگرفت باید سراغ تغییر آدرس سایت در دیتابیس بروید.
برای اینکار باید وارد بخش phpMyAdmin هاست خود شوید و روی دیتابیس خود از لیست سمت چپ کلیک کنید. سپس در لیست وسط دنبال جدول wp_options بگردید و روی آن کلیک کنید. سپس در باکس بالا سمت راست روی گزینه Edit بخش home و site url بزنید تا محتوای جدول قابل ویرایش شود. در ادامه در باکس زیرین باید http را به https تغییر دهید. به همین سادگی شما توانستید که آدرس سایت وردپرس خود را به https تغییر دهید.
قبل از انجام این تغییرات باید توجه داشته باشید که از فایل .htaccess بکاپ بگیرید تا در صورت بروز مشکل بتوانید سایت خود را ریکاوری کنید.