Alternativer for SSL i WordPress

Med det stadig økende fokuset på websikkerhet, har SSL-sertifikater begynt å bli vanlig praksis når du etablerer nettsteder. 

Denne artikkelen vil vise deg hvordan du implementerer SSL i WordPress-nettstedet ditt, men vil ikke gå inn i detaljer om hvordan du kjøper og setter opp sertifikater med webverten din, da dette endres fra leverandør til leverandør. 

Når det er sagt, selger og installerer de fleste web vertene SSL-sertifikater for sine kunder for en relativt liten avgift. For å gjøre noen av endringene beskrevet i denne artikkelen må du allerede ha et SSL-sertifikat konfigurert på din webserver.

Hva er SSL?

SSL.com beskriver SSL som:

SSL (Secure Sockets Layer) er standard sikkerhetsteknologi for å etablere en kryptert lenke mellom en webserver og en nettleser. Denne koblingen sikrer at alle data som sendes mellom webserveren og nettleserne, forblir private og integrerte.

Hvorfor bruke SSL?

Sikkerhet

Det er ikke slikt som å være "for sikker". SSL er nå enklere og rimeligere enn noensinne å implementere. Hvis du har et e-handelsnettsted eller behandler brukerdata, er det viktig. SSL er ikke bare for e-handel nettsteder heller - absolutt noen nettside kan bruke den.

Tillit

Å ha et gyldig SSL-sertifikat er et godt tillitssignal for å sende til besøkende på nettstedet ditt. Mange brukere vil nå se opp for https i adresselinjen til nettleseren sin.

SEO

Dette kommer hånd i hånd med tillit - Google har nå sagt at de begynner å bruke SSL som et rangeringssignal.

En rask ansvarsfraskrivelse

Som alltid, med noen endringer på et nettsted, bør du ta en full sikkerhetskopi først og jobbe på et internasjonalt nettsted før du gjør noen endringer i en levende nettside.

Sikre WordPress Admin

Å være i stand til å sikre back-end av WordPress er faktisk en funksjon som er innebygd i WordPress-kjerne. For å aktivere alternativet, må du redigere din wp-config.php fil som sitter ved roten til din WordPress installasjon. Det er viktig å alltid sikkerhetskopiere denne filen før du redigerer, da den inneholder viktige data som gjør at WordPress-installasjonen din kan fungere.

Når du har redigert denne filen, vil FORCE_SSL_ADMIN konstant må settes til ekte. Den fulle koden ser slik ut:

define ('FORCE_SSL_ADMIN', true);

Når denne linjen er lagt til (kan legges nederst på siden wp-config.php fil) må du lagre filen. En oppdatering skal vise at dette nå lastes over HTTPS.

SSL Bruke WordPress HTTPS-plugin

WordPress HTTPS er et populært valg blant brukere som vil bruke SSL på deres WordPress-nettsted. Pluggen gir en enkel måte å tvinge SSL fra innen WordPress admin. Det er mest nyttig hvis du bare vil sikre enkelte deler av nettstedet ditt (innlegg eller sider), men kan også brukes til å sikre hele nettstedet, og det kan fjerne usikre elementer automatisk.

For å installere plugin, fra WordPress dashboard, gå til Plugins> Add New - så søk etter "WordPress HTTPS" og klikk "Installer".

Sikring av enkelte innlegg / sider

Når det er installert, vil hvert innlegg / side ha en tilpasset metaboks som gir deg muligheten til å sikre innlegget og (eventuelt) eventuelle barnposter. Sjekk hvilket alternativ som gjelder for deg og lagre innlegget ditt. Dette innlegget (og barninnlegg hvis du sjekket det) vil nå bli servert over HTTPS.

Sikre hele nettstedet ditt

Sikring av hele nettstedet kan gjøres fra WordPress HTTPS innstillingssiden. Hvis du klikker på WordPress HTTPS-menyikonet fra WordPress-dashbordet, kommer du til siden med innstillinger - jeg skal kjøre gjennom de vanligste innstillingene:

  • Kraft SSL-administrasjon: Dette er en avkrysningsboks, hvis du allerede har fulgt "Sikre WordPress-administrasjonen" -delen av denne artikkelen, blir dette merket som standard. Hvis du ikke har det, vil du krysse dette ved å sikre WordPress-administrasjonen.
  • Kraft SSL eksklusivt: Hvis du sjekker dette, vil en side som du ikke har fortalt å bruke SSL, omdirigere til standard HTTP.
  • Fjern usikre elementer: Hvis du sjekker dette, vil det fjerne elementer fra siden som er utilgjengelige over HTTPS. Ulempen med denne innstillingen er at det kan knekke plugins for å stole på eksterne ressurser - bruk dette med forsiktighet.

Til slutt, i nærheten av bunnen av denne siden er det et tekstfelt som heter "URL-filtre". Denne delen tillater deg å sikre deler av nettstedet ditt basert på URL (det aksepterer også vanlige uttrykk). Eksemplet som plugin gir her er hvis du vil sikre alle nettadresser som starter med /butikk/

For å gjøre dette ville du skrive /butikk/ inn i tekstboksen og klikk "Lagre endringer". For hvert nytt filter du lager, må du starte en ny linje. Innstillingen "Sikkert filtre" kan også brukes til å få plugin-modulen til å sikre hele nettstedet ditt. Bare legg til et filter som er et foroverstrekk (/). Nå er alle som prøver å få tilgang til ved hjelp av HTTP, omdirigert til HTTPS. Det er en god ide å endre standardinnstillingene for WordPress-URL også hvis du serverer hele nettstedet ditt via HTTPS. Dette forklares i neste del av artikkelen.

Oppdater: Brukere har rapportert problemer med denne plugin og WordPress 4.0 - det anbefales at du ikke bruker denne løsningen til disse problemene er løst. Vennligst se nedenfor for en alternativ plugin løsning.

SSL Bruke iThemes Security Plugin

iThemes Security er et av de mest populære WordPress-sikkerhetspluggene som er tilgjengelige. Den har mange funksjoner ut av boksen for å sikre ditt WordPress-område, inkludert muligheten til å bruke HTTPS.

Advarsel: Dette pluginet er veldig kraftig, og noen av innstillingene kan ha muligheten til å blokkere deg ut av nettstedet ditt. For grunnleggende oppsett av plugin anbefaler jeg at du ser den offisielle iThemes-videoen.

Når du har installert og konfigurert pluginet (se over video) - hodet inn i WordPress-dashbordet, klikk på kategorien "Sikkerhet" og deretter "Innstillinger" -koblingen.

Fra "Gå til", legg ned, klikk "Secure Socket Layers (SSL)" for å bli tatt til riktig del av innstillingene.

Det er tre innstillinger i denne delen:

  1. Front End SSL Mode: Denne rullegardinmenyen har tre alternativer:
  • Av - ingen front-end SSL
  • Per innhold - du kan velge bestemte innlegg som skal sikres av SSL
  • Hele området - Alle frontendene er sikret
  • Kraft SSL for pålogging: Ved å sjekke denne boksen vil alle innlogginger vises over HTTPS
  • Kraft SSL for Dashboard: Ved å sjekke denne boksen vil du tvinge WordPress dashbord til å bruke HTTPS
  • Den mest nyttige delen av plugin er evnen til å sikre bestemt innhold på fronten; hvis du vil sikre hele nettstedet, så er .htaccess-løsningen trolig den tryggere innsatsen.

    Når du har gjort alternativene dine her, må du klikke på "Lagre alle endringer" -knappen.

    Hvis du har valgt alternativet "per innhold", vil du nå se en avkrysningsboks i publiseringsmetaboxen på innlegg. Bare sjekk dette og klikk "Oppdater" for å få denne siden sikret.

    Begrensningene ved bruk av iThemes-sikkerhet for SSL er at det ikke tillater jokertegn, slik at du ikke kan lage tøyregler.

    SSL bruker kode

    Denne metoden er bra for alle som ønsker å betjene hele sitt nettsted over HTTPS. I hovedsak må vi omdirigere trafikk fra HTTP til HTTPS ved hjelp av 301-koden (permanent flyttet). Dette kan gjøres med PHP, men min foretrukne metode er å bruke .htaccess. For at denne løsningen skal fungere, trenger du en Apache-vert med mod_rewrite aktivert - de fleste Linux-verter er, men spørre verten din før du foretar endringer.

    Før du gjør noe .htaccess endringer, det er noen WordPress-innstillinger som vi må endre. Fra WordPress-dashbordet, gå til Innstillinger> Generelt. Under "WordPress Address (URL)" og "Site Address (URL)", må du endre webadressen, så i stedet for http://www.yourdomain.com står det https://www.yourdomain.com https). Når dette er gjort, rull ned og klikk på "Lagre endringer" -knappen. Dette forteller WordPress å bruke HTTPS i alle nettadressene, men stopper ikke ennå folk som får tilgang til nettstedet ditt ved hjelp av HTTP. Det er her .htaccess filen kommer inn.

    Hvis du har permalink aktivert, vil du allerede ha en .htaccess fil som finnes i rotkatalogen av WordPress-installasjonen. Hvis du ikke gjør det, må du lage en - for å gjøre dette, opprett en ny fil med navnet .htaccess - Denne filen skal ikke ha noe annet navn eller en utvidelse. .htaccess filer er dot-filer eller skjulte filer, så du må kanskje aktivere visning av skjulte filer i operativsystemet for å se dem.

    Deretter åpner du din .htaccess filen med valg av tekstredigeringsprogram. Hvis du ikke har permalinks aktivert, så er din .htaccess Filen kan være tom. Hvis du har permalinks aktivert, kan det hende at du allerede har noen kode der inne som ser slik ut:

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

    Vi skal legge til noe mer kode her. Rett over standard WordPress-koden, lim inn i følgende:

    # Start HTTPS  RewriteEngine On RewriteCond% SERVER_PORT 80 RewriteRule ^ (. *) $ Https://www.yourdomain.com/$1 [R, L]  # END HTTPS

    Husk å erstatte https://www.yourdomain.com/ med ditt faktiske domenenavn. Hvis du har et tomt .htaccess fil så legg koden rett inn i filen.

    De første og siste linjene i denne koden med hash-symbolet (#) er kommentarer og er der for å gjøre koden mer menneskelig lesbar. De sjekker at mod_rewrite Modulen er aktivert ettersom denne koden er avhengig av mod_rewrite for omdirigering. Vi sørger da for at RewriteEngine er satt til On som vi trenger omskrivningsmotoren for å opprette omdirigeringer. Deretter stiller vi en betingelse for omskrivningen vår, hvilket betyr at regelen vi oppretter, kun vil kjøre hvis den er tilgjengelig på port 80 (port 80 er standard HTTP-port). Endelig omdirigerer RewriteRule brukerne til HTTPS-versjonen av domenet.

    For å teste at dette fungerer riktig, kan du prøve å besøke nettstedet ditt ved hjelp av en HTTP-nettadresse - hvis den automatisk endres til HTTPS, fungerer dette riktig.

    Hvilken løsning skal vi bruke?

    Det er ikke noe riktig eller feil svar her. Det kan hevdes at stole på et plugin for en slik integrert del av nettstedet ditt, er kanskje ikke den beste ideen, som om pluginet er deaktivert, slettet eller har en dårlig oppdatering, da kan det få alvorlige konsekvenser for nettstedet ditt. 

    Når det er sagt, har WordPress HTTPS-plugin et godt rykte med mange nedlastinger og er naturlig åpen kildekode. Bruke WordPress HTTPS-plugin er den enkleste måten hvis du bare vil sette bestemte områder på nettstedet ditt for å være HTTPS.

    Kodemetoden er derimot fin og enkel hvis du er komfortabel med å lage noen enkle redigeringer til filer og er en pålitelig metode for å gjøre hele nettstedet ditt kjørt over HTTPS.

    Noen utviklere Gotchas

    For at nettstedet SSL skal være gyldig, må alt innholdet ditt også sendes over SSL. Dette inkluderer, men er ikke begrenset til, skript, fonter, stilark, embeds og bilder. Noen reklamebyråer sender ennå ikke innhold over HTTPS, så hvis det ikke er tilfelle, har det ikke mye valg, selv om det er mulig å ha noen sider HTTPS og annen HTTP som forklart tidligere i artikkelen.

    For å unngå denne hodepinen kan du bruke en protokollrelatert URL. For eksempel, la oss si at vi ber om den populære Google-nettfonten 'Open Sans':

    Legg merke til mangelen på HTTP eller HTTPS på forsiden av nettadressen? hva dette gjør er å be om at aktivet bruker samme protokoll som siden. Så, hvis du bruker HTTPS, vil den automatisk be om HTTPS-versjonen av webfonten. Hvis HTTPS-versjonen ikke eksisterer, bruker den HTTP. Det er noen små forbehold for denne teknikken som forklart i en artikkel av Paul Irish. For det meste fungerer dette bra skjønt, og vil løse noen hodepine - det virker også i CSS.

    Feilsøking av HTTPS-feil

    HTTPS-feil skyldes ofte at siden også viser ikke HTTPS-innhold. For å finne ut av det fornærmende innholdet, kan Google Chrome brukes til å feilsøke.

    Hvis du vil identifisere en feil side i Google Chrome, ser du en gul trekant over hengelåsen i adressefeltet. Hvis du klikker på dette, vises den eksakte feilen som vist nedenfor:

    For å finne ut av det fornærmende innholdet på denne siden, slik at det kan løses, velg Vis >> Utvikler >> JavaScript-konsoll. Du bør nå se noen feil som de som er vist nedenfor:

    Denne feilen viser deg den eksakte filen som forårsaker problemet (i dette tilfellet http://en.support.files.wordpress.com/2008/12/def-avatar.png) og linjenummeret der innholdet vises ( 316). Dette innholdet må ganske enkelt endres til HTTPS (gi serveren innholdet på støtter HTTPS) eller bruk en protokollrelativ URL som forklart tidligere i denne artikkelen.

    Konklusjon

    Du vil nå kunne ta en avgjørelse om hvilken som er den beste metoden for deg å bruke HTTPS på WordPress-nettstedet ditt og implementere din favoriserte løsning.