Modul 5 · 5.3
Velge og vurdere utvidelser
Modul 5: Temaer og utvidelser · Lesetid: 9 minutter
Læringsmål: Etter denne leksjonen kan du vurdere en utvidelse før du installerer den, og du gjenkjenner de røde flaggene.
Nøkkelbegreper: utvidelse (plugin), hooks (actions og filters), sist oppdatert, testet opp til, nødvendig PHP-versjon, aktive installasjoner, vurderinger, støtteforum, sårbarhet, freemium, nulled plugin, overlapp
Hva en utvidelse er, og hvorfor det spiller en rolle
En utvidelse (plugin) er et stykke PHP-kode som lastes inn sammen med WordPress ved hver forespørsel (leksjon 1.2). WordPress har hooks overalt: faste punkter der utvidelser kan koble seg på. Det finnes to typer:
- actions: «gjør noe nå», for eksempel legge til et skript på siden, sende en e-post etter en bestilling;
- filters: «endre dette», for eksempel justere tittelen på en side eller redigere innholdet i et innlegg.
En utvidelse kan dermed endre nesten alt på nettstedet ditt. Og den kjører med samme rettigheter som WordPress selv: den kan lese og skrive i databasen din, opprette filer, sende e-post. Å installere en utvidelse er altså å gi tillit til skaperen. En god utvidelse gjør nettstedet ditt bedre; en dårlig eller forlatt utvidelse er den vanligste inngangsporten for innbruddstyver (leksjon 7.1).
Hvor du henter utvidelser
- Utvidelsesmappen på wordpress.org (kan også nås via Utvidelser > Legg til ny i kontrollpanelet ditt). Hver utvidelse kontrolleres ved innsending, og utvidelsesmappen fjerner utvidelser med et uløst sikkerhetshull.
- Nettstedet til en kjent utvikler, for betalte utvidelser eller tillegg.
- Aldri fra et nedlastingsnettsted som tilbyr betalte utvidelser «gratis». Slike nulled-utvidelser er ofte endret med en bakdør, spamlenker eller kode som senere brukes til noe annet på nettstedet ditt. I tillegg får du ingen oppdateringer, slik at kjente sikkerhetshull forblir åpne. Pengene du sparer, betaler du tilbake ved den første gjenopprettingen etter et hackerangrep.
De fem kjennetegnene på utvidelsessiden
På hver utvidelsesside på wordpress.org står de samme opplysningene til høyre. Les dem i denne rekkefølgen:
| Kjennetegn | Hva det forteller | Rødt flagg |
|---|---|---|
| Sist oppdatert | Om det fortsatt jobbes med den | Mer enn et år siden. En utvidelse som lenge ikke har fått en oppdatering, fungerer kanskje ikke godt med nyere versjoner av WordPress og PHP |
| Testet opp til (WordPress-versjon) | Om utvikleren har kontrollert den mot nyere versjoner | En mye eldre versjon enn den nåværende. wordpress.org viser da en advarsel |
| PHP-versjon (nødvendig) | Minste PHP-versjon | Ikke et flagg i seg selv, men sjekk om den fungerer med din (nyere) versjon |
| Aktive installasjoner | Hvor mange nettsteder som bruker den | Svært få installasjoner betyr få personer som oppdager feil. Ikke alltid dårlig (en liten, spesifikk utvidelse), men se ekstra nøye etter |
| Vurderinger og støtte | Hva brukere synes, og om utvikleren svarer på spørsmål | Mange nylige ettstjerners vurderinger; et lavt tall av totalen under «Problemer løst de siste to månedene» |
Les spesielt de nylige dårlige vurderingene: handler det om en oppdatering som ødela noe, om aggressiv reklame, om data som sendes ut? Og se i støtteforumet om utvikleren svarer.
En utvidelse som er fjernet fra wordpress.org, viser en melding om at den er stengt når du åpner den, ofte med årsaken (for eksempel «sikkerhetsproblem»). Har du en slik utvidelse, bytt den ut.
Se lenger enn utvidelsessiden
- Sårbarheter: det finnes offentlige databaser med kjente sikkerhetshull i WordPress-utvidelser, for eksempel de til Patchstack, Wordfence og WPScan. Søk opp navnet på utvidelsen: hadde den sikkerhetshull, og hvor raskt ble de løst? En utvidelse med et sikkerhetshull som ble reparert raskt, er ikke en dårlig utvidelse. En utvikler som ikke gjør noe på flere måneder, det er dårlig.
- Freemium: mange utvidelser er gratis med et betalt tillegg. Helt greit, men vær oppmerksom på meldinger som spammer kontrollpanelet ditt, eller funksjoner du bare kan bruke med den betalte delen.
- Eksterne tjenester: sender utvidelsen data om besøkende til en tjeneste hos utvikleren (et spamfilter, en statistikktjeneste, en bildekomprimering i skyen)? Dette må nevnes i personvernerklæringen din og noen ganger i en databehandleravtale (leksjon 9.3). Gode utvidelser sier dette i sin beskrivelse.
- Hva den laster inn: en utvidelse for et skjema på kontaktsiden din trenger ikke å laste inn skript på alle andre sider. Med utviklerverktøyene i nettleseren din (fanen Nettverk) ser du hva en utvidelse legger til på en side.
Én oppgave, én utvidelse, og helst ingen
Det viktigste spørsmålet kommer før utvidelsessiden: trenger jeg egentlig en utvidelse til dette?
- Kan WordPress gjøre det selv? Et enkelt sitemap (leksjon 9.2), lazy loading (leksjon 4.4), kolonner, knapper og tabeller (leksjon 4.1) er allerede innebygd.
- Kan temaet gjøre det? Med et blokktema kan du gjøre mye med nettstedsredigereren.
- Kan det gjøres med noen få linjer kode i en egen liten utvidelse eller et undertema (child theme)? Da trenger du ikke en pakke med tusenvis av linjer for én funksjon.
- Har jeg allerede en utvidelse som gjør dette? Overlapp (to cache-utvidelser, to SEO-utvidelser, to sikkerhetsutvidelser) gir konflikter og dobbelt arbeid.
Et nettsted med ti godt valgte utvidelser er sunnere enn et nettsted med førti. Ikke fordi tallet teller, men fordi hver utvidelse må holdes oppdatert, kan kollidere med de andre og kan ha et sikkerhetshull.
Dokumenter vurderingen din
For hver utvidelse du installerer, noterer du: hva den er til, hvorfor akkurat denne og ikke en annen, hvem som vedlikeholder den, og når du sist gjennomgikk den. Det høres tungvint ut, men det er akkurat det du trenger ved opprydding (leksjon 5.4), ved et hackerangrep (leksjon 7.5), og hvis noen andre overtar nettstedet ditt.
Oppsummering
- En utvidelse kobler seg på WordPress via hooks og kjører med samme rettigheter; å installere den er å gi tillit.
- Hent utvidelser fra wordpress.org eller en kjent utvikler, aldri nulled.
- Les sist oppdatert, testet opp til, PHP-versjon, aktive installasjoner og vurderinger/støtte; søk opp kjente sikkerhetshull.
- Spør først om du trenger en utvidelse; unngå overlapp.
- Dokumenter hvorfor du bruker en utvidelse.
Quiz
Oppgave
Oppgave A5.3: Les en utvidelsesside. Velg en utvidelse fra utvidelsesmappen på wordpress.org som du bruker eller vurderer, og fyll inn slugen (den siste delen av adressen, for eksempel contact-form-7 fra wordpress.org/plugins/contact-form-7/). Fyll også inn det som står på siden under sist oppdatert (datoen), testet opp til og nødvendig PHP-versjon. Programmet henter de samme opplysningene fra det offentlige utvidelses-API-et til wordpress.org og sammenligner.
Oppgave D5.3: Et poengkort for tre utvidelser. Velg et behov (for eksempel et kontaktskjema, en informasjonskapselmelding eller en sikkerhetskopi) og sammenlign tre utvidelser. Fyll inn de fem kjennetegnene for hver utvidelse, søk opp om det var kjente sikkerhetshull og hvor raskt de ble løst, sjekk om den sender data til en ekstern tjeneste, og velg én. Forklar i noen setninger hvorfor, og om du egentlig trenger utvidelsen.
Oppgave D5.3: Et poengkort for tre utvidelser
Denne oppgaven gjør du selv; ingen kontrollerer den. Kryss av det du har gjort, og merk oppgaven som fullført.
Nevn en kilde for sårbarheter (for eksempel WPScan- eller Patchstack-databasen, med lenke) og en vurdering som går lenger enn «flest installasjoner»: vedlikehold, støtte, hva utvidelsen sender ut, overlapp med det du allerede har.
Avkrysningene og notatene dine blir kun i denne nettleseren; vi sender dem ikke noe sted. Er du logget inn, lagrer vi kun i Mine kurs at du har gjort oppgaven.
Les mer
Disse artiklene beskriver fremgangsmåten i kontrollpanelene til WebOké; i andre kontrollpaneler fungerer det på lignende måte.
- Hjelp! Nettstedet mitt er hacket. Hvordan løser eller forebygger jeg det?
- DirectAdmin-veiledning 18.2: Nettstedet mitt er hacket: steg for steg
- Utvidelser på wordpress.org: https://wordpress.org/plugins/
- Administrere utvidelser (wordpress.org, engelsk): https://wordpress.org/documentation/article/manage-plugins/
