תעודת SSL היא מרכיב חובה ובלתי נפרד מתהליך של הקמת אתר מסחר אלקטרוני באינטרנט מכיוון שהיא מצפינה את התקשורת בין המחשב לבין השרת.
תעודת SSL מפעילה את השימוש בפרוטוקל HTTPS אשר מודיעה לדפדפן לפתוח ערוץ מאובטח בין מחשב הלקוח לבין השרת המארח עב״ס מפתח ציבורי ומפתח פרטי.
תהליך הקמת הערוץ המאובטח כולל מספר שלבים:
- שלב 1 // הדפדפן פונה אל השרת בדרישה לפתיחה של ערוץ תקשורת מוצפן (https).
- שלב 2 // השרת שולח אל הדפדפן מפתח ציבורי (Public Key) ואת התעודה עם פרטי המנפיק (Certificate).
- שלב 3 // הדפדפן מוודא כי התעודה הונפקה ע"י ספק מהימן ובתוקף.
- שלב 4 // הדפדפן משתמש במפתח הציבורי (Public Key) על מנת להצפין את המפתח הפרטי (Private Key) שלו ושולח אל השרת.
- שלב 5 // השרת משתמש במפתח הציבורי (Public Key) על מנת לפענח את הצפנת המפתח הפרטי (Private Key).
- שלב 6 // השרת שולח את כלל התכנים הרלוונטיים (קבצי האתר) אשר מוצפנים עם המפתח הפרטי (Private Key) אל הדפדפן.
- שלב 7 // הדפדפן מפענח את המידע שנשלח אליו ע"י שימוש במפתח הפרטי (Private Key) ומציג את האתר למשתמש.
הגדרת כתובת אתר עם https://
בהגדרות פאנל הניהול של WordPress אינו אוכף את ה-https
, לכן נצטרך להוסיף בתבנית שלנו קוד אשר יבצע הפניית 301 של הכתובת הנוכחית אל הכתובת המאובטחת.
את הקוד הבא נצטרך להוסיף בקובץ functions.php
:
/**
* Enable WordPress HTTPS redirection.
*
* @since 1.0.0
*/
function dorzki_force_https () {
if ( !is_ssl() ) {
wp_redirect( 'https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 301 );
exit();
}
}
add_action ( 'template_redirect', 'dorzki_force_https', 1 );
הקוד הנ״ל פועל אך ורק על האתר עצמו ולא על הפאנל ניהול של WordPress, לכן נצטרף להוסיף את הקוד הבא בקובץ wp-config.php
:
define( 'FORCE_SSL_LOGIN', true );
define( 'FORCE_SSL_ADMIN', true );
בהצלחה!