Opțiuni pentru SSL în WordPress

Cu accentul tot mai mare pe securitatea web, certificatele SSL au început să devină o practică obișnuită la crearea site-urilor web. 

Acest articol vă va arăta cum să implementați SSL în site-ul dvs. WordPress, dar nu veți intra în detalii despre cum să cumpărați și să configurați certificate cu gazda dvs. web, deoarece aceasta se schimbă de la furnizor la furnizor. 

Acestea fiind spuse, majoritatea gazdelor web vinde și instalează certificate SSL pentru clienții lor pentru o taxă relativ mică. Pentru a face oricare dintre modificările descrise în acest articol, va trebui să aveți deja un certificat SSL configurat pe serverul dvs. Web.

Ce este SSL?

SSL.com descrie SSL ca:

SSL (Secure Sockets Layer) este tehnologia standard de securitate pentru stabilirea unei legături criptate între un server web și un browser. Această legătură asigură că toate datele transmise între serverul web și browserele rămân private și integrale.

De ce folosiți SSL?

Securitate

Nu există un astfel de lucru ca fiind "prea sigur". SSL este acum mai ușor și mai accesibil decât oricând pentru implementare. Dacă aveți un site web de comerț electronic sau dacă procesați date de utilizator, atunci este esențial. SSL nu este doar pentru site-urile de comerț electronic - absolut orice site web îl poate folosi.

Încredere

Având un certificat SSL valid este un semnal de încredere bun pentru a trimite vizitatorilor site-ului dvs. web. Mulți utilizatori vor căuta acum https în bara de adrese a browserului.

SEO

Acest lucru vine mână în mână cu încredere - Google a spus acum că încep să utilizeze SSL ca un semnal de clasare.

O derogare rapidă

Ca întotdeauna, cu orice schimbare pe un site web, ar trebui să faceți mai întâi o copie de siguranță completă și să lucrați pe un site web înainte de a face orice modificări la un site web live.

Asigurarea administratorului WordPress

Fiind capabil să asigure back-end-ul WordPress este de fapt o caracteristică care este încorporată în nucleul WordPress. Pentru a activa opțiunea, va trebui să vă editați wp-config.php fișier care se află la rădăcina instalării WordPress. Este important să faceți întotdeauna o copie de rezervă a acestui fișier înainte de a fi editat, deoarece deține date cruciale care permit instalării dvs. WordPress să funcționeze.

După editarea acestui fișier, FORCE_SSL_ADMIN trebuie să fie stabilită constantă Adevărat. Codul complet arată astfel:

define ('FORCE_SSL_ADMIN', true);

Odată ce această linie a fost adăugată (poate fi adăugată în partea de jos a paginii) wp-config.php fișier) asigurați-vă că ați salvat fișierul. O reîmprospătare ar trebui să arate că acum este încărcat pe HTTPS.

SSL Utilizând pluginul WordPress HTTPS

WordPress HTTPS este o alegere populară printre utilizatorii care doresc să utilizeze SSL pe site-ul lor WordPress. Pluginul oferă o modalitate ușoară de a forța SSL din cadrul programului WordPress admin. Este foarte util dacă doriți să securizați numai anumite părți ale site-ului dvs. (postări sau pagini), dar puteți, de asemenea, să vă asigurați întregul site și să eliminați automat elementele nesigure.

Pentru a instala plugin-ul, din tabloul de bord WordPress, accesați Plugins> Add New - apoi căutați "WordPress HTTPS" și faceți clic pe "Install".

Securizarea posturilor / paginilor unice

Odată instalat, fiecare post / pagină va avea un metabox personalizat, care vă oferă opțiunea de a vă asigura postarea și (opțional) orice post de copil. Verificați ce opțiune se aplică pentru dvs. și salvați postarea. Această postare (și postările copilului dacă ați făcut acest lucru) vor fi difuzate acum pe HTTPS.

Asigurarea întregului site

Asigurarea întregului dvs. site se poate face din pagina de setări WordPress HTTPS. Dacă faceți clic pe pictograma meniului WordPress HTTPS din tabloul de bord WordPress, veți afișa pagina de setări - voi trece prin cele mai comune setări:

  • Administrarea Forței SSL: Aceasta este o casetă de selectare, dacă ați urmat secțiunea "Securizarea administratorului WordPress" din acest articol, aceasta va fi bifată în mod implicit. Dacă nu ați făcut acest lucru, bifați acest lucru va asigura administratorul WordPress.
  • Force SSL Exclusiv: Dacă bifați această opțiune, orice pagină pe care nu ați spus să o utilizați pe SSL va redirecționa la HTTP standard.
  • Eliminați elementele nesigure: Dacă bifați această opțiune, aceasta va elimina orice elemente din pagină care sunt inaccesibile prin HTTPS. Dezavantajul acestei setări este acela că ar putea rupe pluginurile să se bazeze pe resursele externe - utilizați acest lucru cu prudență.

În final, în partea de jos a acestei pagini există un câmp text numit "Filtre URL". Această parte vă permite să securizați secțiunile site-ului dvs. pe baza adresei URL (acceptă, de asemenea, expresii regulate). Exemplul pe care pluginul îl oferă aici este dacă ați dori să vă asigurați toate URL-urile care încep cu /magazin/

Pentru a face acest lucru, veți tasta /magazin/ în caseta de text și faceți clic pe "Salvați modificările". Pentru fiecare filtru nou pe care îl creați, va trebui să începeți o nouă linie. Setarea "Filtre securizate" poate fi, de asemenea, utilizată pentru a face ca pluginul să vă securizeze întregul site web. Doar adăugați un filtru care este un slash înainte (/). Acum oricine încearcă să acceseze HTTP va fi redirecționat către HTTPS. Este o idee bună să schimbați și setările standard ale adresei URL WordPress, dacă serviți întregul site pe HTTPS. Acest lucru este explicat în următoarea secțiune a articolului.

Actualizați: Utilizatorii au raportat probleme cu acest plugin și WordPress 4.0 - este recomandat să nu utilizați această soluție până când aceste probleme nu sunt rezolvate. Consultați mai jos o soluție alternativă pentru plugin.

SSL Utilizând pluginul de securitate iThemes

iThemes Security este unul dintre cele mai populare pluginuri de securitate WordPress disponibile. Are multe caracteristici din cutie pentru securizarea site-ului dvs. WordPress, inclusiv opțiunea de a utiliza HTTPS.

Avertizare: Acest plugin este foarte puternic și unele dintre setări pot avea capacitatea de a vă bloca site-ul. Pentru configurarea de bază a pluginului recomandăm să urmăriți videoclipul oficial iThemes.

Odată ce pluginul a fost instalat și configurat (consultați videoclipul de mai sus) - accesați tabloul de bord WordPress, dați clic pe fila "Securitate" și apoi pe linkul "Setări".

Din meniul derulant "Du-te la", faceți clic pe "Secure Socket Layers (SSL)" (Secure Socket Layers (SSL)) pentru a trece la secțiunea corectă a setărilor.

Există trei setări în această secțiune:

  1. Front End Mod SSL: această meniuri au trei opțiuni:
  • Off - fără SSL front-end
  • Per Conținut - puteți alege anumite postări pentru a vă asigura prin SSL
  • Întregul site - Toate fronturile sunt securizate
  • Force SSL pentru conectare: bifând această casetă, toate conectările vor fi difuzate prin HTTPS
  • Force SSL pentru tabloul de bord: bifând această casetă va forța tabloul de bord WordPress să utilizeze HTTPS
  • Partea cea mai utilă a pluginului este capacitatea de a asigura un anumit conținut pe front-end; dacă doriți să asigurați întregul site web, atunci soluția .htaccess este probabil pariul mai sigur.

    Odată ce ați făcut opțiunile aici, asigurați-vă că faceți clic pe butonul "Salvați toate modificările".

    Dacă ați ales opțiunea "per conținut", atunci veți vedea o casetă de selectare în cadrul metaboxului de publicare pentru postări. Trebuie doar să bifați această opțiune și să dați clic pe "Actualizare" pentru a avea această pagină securizată.

    Limitările utilizării securității iThemes pentru SSL constau în faptul că nu permite utilizarea de metacaractere, astfel încât să nu puteți crea reguli de tip pătură.

    SSL utilizând codul

    Această metodă este bună pentru oricine dorește să deservească întregul site pe HTTPS. În esență, ceea ce trebuie să facem aici este redirecționarea oricărui trafic de la HTTP la HTTPS, folosind codul 301 (mutat definitiv). Acest lucru se poate face cu PHP, dar metoda mea preferată este de a utiliza .htaccess. Pentru ca această soluție să funcționeze, veți avea nevoie de o gazdă Apache cu mod_rewrite activată - majoritatea gazdelor Linux, dar cereți-le gazdă înainte de a efectua modificări.

    Înainte de a face orice .htaccess schimbări, există câteva setări WordPress pe care trebuie să le schimbăm. Din tabloul de bord WordPress, accesați Setări> General. Sub "Adresa WordPress (URL)" și "Adresa site-ului (URL)", trebuie să modificați adresa web astfel încât în ​​loc de http://www.yourdomain.com se afișează https://www.yourdomain.com https). După ce ați terminat, derulați în jos și faceți clic pe butonul "Salvați modificările". Acest lucru îi spune lui WordPress să utilizeze HTTPS în toate adresele URL, dar nu oprește încă accesarea persoanelor de pe site folosind HTTP. Aici este locul unde .htaccess fișierul vine.

    Dacă aveți Permalinks activat, atunci veți avea deja un .htaccess fișier prezent în directorul rădăcină al instalării dvs. WordPress. Dacă nu, atunci va trebui să faceți una - pentru a face acest lucru, creați un fișier nou cu numele .htaccess - acest fișier nu trebuie să aibă alt nume sau extensie. .htaccess fișierele sunt fișiere punctuale sau fișiere ascunse, astfel încât este posibil să fie necesar să activați vizualizarea fișierelor ascunse din sistemul dvs. de operare pentru a le vedea.

    Apoi, deschide-ți .htaccess fișier cu editorul de text de alegere. Dacă nu aveți permalinks activat atunci dvs. .htaccess fișierul poate fi gol. Dacă aveți permalinks activat atunci este posibil să aveți deja un cod acolo care arată astfel:

    # BEGIN WordPress  RewriteEngine pe RewriteBase / secure / RewriteRule ^ index \ .php $ - [L] RewriteCond% REQUEST_FILENAME! -F RewriteCond% REQUEST_FILENAME! -D RewriteRule. /secure/index.php [L]  # END WordPress

    Vom adăuga un cod mai mult aici. Direct deasupra codului standard WordPress, lipiți următoarele:

    # Începeți HTTPS  RewriteEngine pe RewriteCond% SERVER_PORT 80 RewriteRule ^ (. *) $ Https://www.yourdomain.com/$1 [R, L]  # END HTTPS

    Nu uitați să înlocuiți https://www.yourdomain.com/ cu numele dvs. real de domeniu. Dacă aveți un gol .htaccess fișierul a pus doar codul direct în fișier.

    Prima și ultima linie a acestui cod cu simbolul hash (#) sunt comentarii și sunt acolo pentru a face codul mai ușor de citit de om. verifică dacă mod_rewrite modul este activat deoarece acest cod se bazează pe mod_rewrite pentru redirecționare. Apoi asiguram ca RewriteEngine este setat la Activat deoarece avem nevoie de motorul de rescriere pentru a crea redirecționările noastre. Apoi, setăm o condiție pentru rescrierea noastră, ceea ce înseamnă că regula pe care o creăm se va executa numai dacă este accesată pe portul 80 (portul 80 este portul HTTP standard). În cele din urmă, RewriteRule redirecționează utilizatorii la versiunea HTTPS a domeniului.

    Pentru a testa că funcționează corect, încercați să vizitați site-ul utilizând o adresă URL HTTP - dacă se schimbă automat în HTTPS, atunci acesta funcționează corect.

    Ce soluție ar trebui să folosim?

    Nu există nici un răspuns corect sau greșit aici. S-ar putea argumenta că bazarea pe un plugin pentru o parte integrantă a site-ului dvs. poate să nu fie cea mai bună idee, ca în cazul în care pluginul este dezactivat, șters sau are o actualizare proastă, atunci ar putea avea unele consecințe grave pentru site-ul dvs.. 

    Acestea fiind spuse, pluginul WordPress HTTPS are o bună reputație, cu o mulțime de descărcări și este în mod natural deschis. Folosirea pluginului WordPress HTTPS este cel mai simplu mod dacă doriți să setați numai anumite zone din site-ul dvs. web ca fiind HTTPS.

    Pe de altă parte, metoda de codare este plăcută și simplă dacă sunteți confortabil să faceți câteva editări simple în fișiere și este o metodă sigură pentru a face ca întregul dvs. site să ruleze pe HTTPS.

    Unii dezvoltatori Gotchas

    Pentru ca site-ul dvs. SSL să fie valabil, tot conținutul dvs. trebuie trimis și prin SSL. Aceasta include, dar nu se limitează la, scripturi, fonturi, foi de stil, embed și imagini. Unele agenții de publicitate nu trimit încă conținut pe HTTPS, deci dacă nu există prea multe opțiuni, deși este posibil să existe câteva pagini HTTPS și alte HTTP-uri, așa cum a fost explicat mai devreme în articol.

    Pentru a evita această durere de cap, puteți utiliza o adresă URL relativă. De exemplu, să presupunem că solicităm fontul popular Google Open Sans:

    Observați lipsa HTTP sau HTTPS în fața acestei adrese URL? ceea ce face, este solicitarea activului folosind același protocol ca pagina. Deci, dacă utilizați HTTPS, acesta va solicita automat versiunea HTTPS a fontului web. Dacă versiunea HTTPS nu există, atunci va folosi HTTP. Există câteva preavizări minore la această tehnică, după cum se explică într-un articol al lui Paul Irish. În cea mai mare parte, acest lucru funcționează excelent deși și va rezolva unele dureri de cap - de asemenea, funcționează în CSS.

    Depanarea erorilor HTTPS

    Erori HTTPS sunt adesea cauzate de pagina care deservește și conținut non-HTTPS. Pentru a afla conținutul necorespunzător, Google Chrome poate fi folosit pentru depanare.

    Pentru a identifica o pagină defectă, în Google Chrome, veți vedea un triunghi galben peste lacătul din bara de adrese. Dacă faceți clic pe aceasta, va apărea eroarea exactă, după cum se arată mai jos:

    Pentru a afla conținutul ofensator de pe această pagină, pentru a putea fi corectat, selectați Vizualizați >> Developer >> JavaScript. Ar trebui să vedeți acum câteva erori, cum ar fi cele prezentate mai jos:

    Această eroare vă arată fișierul exact care provoacă problema (în acest caz http://en.support.files.wordpress.com/2008/12/def-avatar.png) și numărul liniei în care apare conținutul ( 316). Acest conținut ar trebui pur și simplu să fie schimbat în HTTPS (furnizând serverului în care conținutul este compatibil cu HTTPS) sau să utilizeze o adresă URL relativă, așa cum a fost explicat mai devreme în acest articol.

    Concluzie

    Acum veți putea lua o decizie cu privire la cea mai bună metodă de a utiliza HTTPS pe site-ul dvs. WordPress și de a vă implementa soluția favorizată.

    Cod