Hoppa till innehållet

Cookieinställningar

Välj vilka typer av cookies du tillåter. Du kan alltid ändra ditt val via Cookieinställningar längst ned på varje sida. Integritetspolicy

Nödvändiga

Alltid på

Behövs för att logga in, spara din varukorg och komma ihåg dina val. De är alltid på.

Vilka cookies?
  • weboke_sessie, weboke_klant, weboke_remember: din session och att du förblir inloggad
  • weboke_basket: din varukorg
  • wkBtwIncl: visa priser med eller utan moms
  • wok_cookies: ditt cookieval, 12 månader

Mäter vilken annons som leder till ett besök eller en beställning, så att vi inte betalar för annonser som inte ger något.

Vilka cookies?
  • Google Ads via Google Tag Manager (_gcl_au, _gcl_aw), upp till 90 dagar
  • OpenAI Ads, annonser i ChatGPT
  • wok_aff: via vilken partner du kom till oss (affiliateprogram), 60 dagar

4,6

Land och språk

Varje land har en egen webbplats med landets priser och moms.

Visa

Uppdateringar, säkerhetskopior och roller

Modul 6: Förvaltning och säkerhet · Lästid: 11 minuter

Lärandemål: Efter den här lektionen kan du uppdatera och säkerhetskopiera en WooCommerce-butik utan att tappa beställningar, och fördela behörigheter så att alla bara kan göra det som behövs.

Nyckelbegrepp: stor och liten uppdatering, databasuppdatering, tillägg och kompatibilitet, mallöverskrivningar (template overrides), föråldrade mallar, säkerhetskopia före uppdateringen, beställningar mellan säkerhetskopia och återställning, HPOS-tabeller, rollerna Butiksägare (Shop manager) och Kund (Customer), minsta möjliga behörighet, synliga versioner, xmlrpc.php

Varför en butik skiljer sig från en vanlig webbplats

I WordPress-kursen (lektion 7.2, 8.1 och 8.2) går vi igenom hur du uppdaterar WordPress, hur du gör säkerhetskopior och hur du återställer. För en butik gäller allt det, med en stor skillnad: databasen ändras hela dagen. Varje beställning, varje kund, varje lagerändring och varje betalning hamnar där. På en informationssajt förlorar du med gårdagens säkerhetskopia högst ett inlägg. I en butik förlorar du beställningar som redan är betalda.

Därför två tumregler för den här lektionen:

  1. I en butik är återställning det sista steget, inte det första.
  2. Uppdatera enligt en plan, inte "snabbt i förbifarten på fredagseftermiddagen".

Uppdateringar av WooCommerce

WooCommerce släpper regelbundet nya versioner, med små korrigeringar emellan. Versionsnumret har tre delar, till exempel 11.2.2. En ändring i den sista siffran är en liten korrigering eller säkerhetsuppdatering. En ändring i den första eller andra siffran ger nya funktioner och ibland förändringar som tillägg eller ditt tema måste anpassas till.

Tre saker händer vid en uppdatering av WooCommerce som du ser mer sällan med ett vanligt tillägg:

  • En databasuppdatering. Ibland måste WooCommerce ändra tabellerna. Då ser du ett meddelande i adminpanelen om att databasen uppdateras. Det körs i bakgrunden via de schemalagda åtgärderna (lektion 7.3). Avbryt inte, och kontrollera under WooCommerce > Status om det är klart.
  • Tilläggen måste hänga med. Betaltillägg, fraktkopplingar och bokföringskopplingar anger upp till vilken WooCommerce-version de är testade. På sidan för tillägg ser du en varning om ett tillägg inte nämner en nyare version. Läs ändringarna för ditt betaltillägg innan du uppdaterar: ett betaltillägg som slutar fungera betyder en butik som inte säljer.
  • Mallöverskrivningar. Många teman har egna kopior av WooCommerce-mallar (mappen woocommerce/ i temat). Om WooCommerce ändrar originalet blir kopian föråldrad. Under WooCommerce > Status (Systemstatus) visas längst ned, vid temat, vilka mallar det skriver över och vilka som är föråldrade. Föråldrade mallar kan sakna nya fält eller ge fel. Uppdatera temat eller be utvecklaren om en uppdatering.

Små uppdateringar (sista siffran) installerar du helst snabbt, gärna automatiskt, eftersom de ofta åtgärdar säkerhetsbrister. Stora uppdateringar testar du först i staging (lektion 7.3), vid en lugn tidpunkt, med en säkerhetskopia precis innan.

Säkerhetskopior: vad som försvinner vid återställning

Ett exempel. Theehuis Example gör en säkerhetskopia varje natt kl. 03.00. På tisdagen kl. 10.00 uppdaterar administratören WooCommerce, och sedan visar produktsidan ett fel. Mellan 03.00 och 10.00 kom sex beställningar in, betalda via betalleverantören. Om du nu återställer säkerhetskopian från 03.00 händer följande:

  • de sex beställningarna försvinner ur databasen, medan pengarna finns hos leverantören;
  • butiken vet inte längre att lagret har minskat;
  • butiken kan senare få meddelanden (webhooks) från leverantören om beställningar som den inte känner till.

Därför:

  • Gör en säkerhetskopia precis före en uppdatering, inte bara på natten. Då blir luckan så liten som möjligt.
  • Anteckna vid återställning vilka beställningar som kom efter säkerhetskopian (från mejlen "Ny beställning" och din leverantörs kontrollpanel) och lägg in dem för hand efteråt, eller exportera dem i förväg.
  • Återställ helst bara filerna (den gamla tilläggs- eller temamappen) om problemet sitter i koden, och låt databasen vara. En uppdatering kan ofta backas genom att du installerar den tidigare versionen av tillägget. I WordPress-kursen, lektion 8.2, ser du hur du återställer selektivt. Har uppdateringen redan ändrat databasen kanske den gamla versionen inte längre fungerar med den: därför testar du först i staging.
  • Säkerhetskopiera oftare än för en vanlig webbplats: en butik med beställningar hela dagen behöver minst dagligen, helst oftare, en säkerhetskopia av databasen, och en kopia utanför servern (3-2-1-regeln, WordPress-kursen lektion 8.1).

Sedan WooCommerce 8.2 lagras beställningar i nya butiker i egna tabeller (HPOS, lektion 1.2), till exempel wp_wc_orders. Ett säkerhetskopieringstillägg som bara tar med "inlägg" eller väljer tabeller efter namn måste också ta med de tabellerna. Kontrollera vid ett återställningstest (WordPress-kursen, lektion 8.2) att beställningarna verkligen finns med.

Hos WebOké gör WebOké Backups varje natt en säkerhetskopia som sparas i 30 dagar i ett annat datacenter (DA 16.1). Dessutom kan du själv göra en säkerhetskopia i DirectAdmin eller Installatron före en uppdatering. Hos andra webbhotell fungerar det på liknande sätt; fråga hur ofta och hur länge.

Roller: vem får göra vad

WooCommerce lägger till två roller i WordPress (WordPress-kursen, lektion 3.3):

  • Kund (Customer): en kund med konto. Kan bara se sina egna beställningar och uppgifter. Ge aldrig den här rollen administrationsbehörighet.
  • Butiksägare (Shop manager): kan hantera produkter, beställningar, kunder, rabattkoder och inställningarna i WooCommerce, men kan inte installera tillägg eller byta tema.

För medarbetare som packar beställningar, svarar på kundfrågor eller lägger in produkter räcker Butiksägare. Administratör är bara för den som sköter tekniken. Varje medarbetare får ett eget konto med tvåstegsverifiering (WordPress-kursen, lektion 7.3), inget delat konto "butik". En butiksägare ser alla kunduppgifter, så ta bort konton när någon slutar.

API-nycklar (lektion 2.4) är också en form av behörighet: ge en koppling bara läsrätt om den inte behöver skriva något, och ta bort nycklar som inte längre används.

Vad din butik visar för alla

Angripare letar efter butiker med en gammal version av WooCommerce eller ett betaltillägg med en känd sårbarhet. WooCommerce lägger som standard in raden <meta name="generator" content="WooCommerce 11.2.2"> i källkoden, och versionen finns också efter stilmallarna (?ver=). Att dölja ger en liten vinst, att uppdatera en stor. En butik som är uppdaterad behöver inte oroa sig mycket för ett synligt versionsnummer. En butik som ligger efter avslöjar det.

Filen xmlrpc.php är en gammal koppling som appar använder för att logga in i WordPress. Den missbrukas ofta för att gissa lösenord. Om du inte använder någon app eller tjänst som behöver den stänger du den (hos WebOké är den stängd som standard, KB 169). En öppen xmlrpc.php svarar på en vanlig förfrågan i webbläsaren med "XML-RPC server accepts POST requests only." och status 405. En stängd ger 403 eller 404.

Sammanfattning

  • En butiksdatabas ändras hela dagen: en återställning kostar beställningar som redan är betalda.
  • Små uppdateringar snabbt, stora uppdateringar först i staging; håll koll på databasuppdateringen, tilläggen och föråldrade mallar under WooCommerce > Status.
  • Säkerhetskopiera precis före en uppdatering och oftare än för en vanlig webbplats; kontrollera att beställningstabellerna kommer med.
  • Medarbetare får rollen Butiksägare, inte Administratör; var och en med ett eget konto med tvåstegsverifiering.
  • Att dölja versioner hjälper lite, att uppdatera mycket; stäng xmlrpc.php om du inte använder den.

Quiz

1. Efter en uppdatering visar din butik ett fel kl. 10.00. Den senaste säkerhetskopian är från kl. 03.00. Vilken är den största risken om du återställer hela säkerhetskopian?



2. Var ser du om ditt tema använder föråldrade WooCommerce-mallar?



3. En medarbetare packar beställningar och svarar på kundfrågor. Vilken roll passar?



4. Vad betyder status 405 med texten "XML-RPC server accepts POST requests only." när du öppnar /xmlrpc.php i webbläsaren?



Uppgift

Uppgift A6.2: Visar din butik versioner? Fyll i adressen till din butik, din WordPress-version (Adminpanel > Uppdateringar) och din WooCommerce-version (Tillägg). Programmet hämtar startsidan och flödet, och filen /wp-content/plugins/woocommerce/readme.txt (bara de första 2 kB, raden "Stable tag"). Det letar efter versionsnummer för WordPress och WooCommerce i generator-raderna och efter ?ver= vid WooCommerce stilmallar, och hämtar de senaste versionerna från wordpress.org. Grönt om dina versioner är de senaste och det som syns stämmer med dem. Orange om bara en liten uppdatering återstår, eller om versionen syns men är aktuell. Rött om du ligger en stor version efter, om den synliga versionen skiljer sig från det du fyllde i (något annat körs än du tror), eller vid ogiltig inmatning.

Uppgift A6.2: Visar din butik versioner?




Det du fyller i och det vi hittar sparar vi inte. Din webbläsare kommer ihåg dina svar och om du klarade uppgiften. Är du inloggad sparar vi bara att du klarade uppgiften (nästan) i Mina kurser; där kan du också ta bort det.

Uppgift A6.2b: Är xmlrpc stängt? Fyll i adressen till din butik och kryssa i om du använder en app eller tjänst som behöver xmlrpc.php. Programmet hämtar /xmlrpc.php med en vanlig GET, utan att skicka något. Grönt vid 401, 403, 404, 410, en omdirigering eller en vanlig HTML-sida. Rött vid 405 med texten "XML-RPC server accepts POST requests only." utan kryss; orange om du angav att du behöver den. Det kontrollerar också om listan med användarnamn via /wp-json/wp/v2/users är offentlig (orange om namn syns).

En grön bock betyder att den här kontrollen stämmer just nu, inte att din butik är säker.

Uppgift A6.2b: Är xmlrpc stängt?



Det du fyller i och det vi hittar sparar vi inte. Din webbläsare kommer ihåg dina svar och om du klarade uppgiften. Är du inloggad sparar vi bara att du klarade uppgiften (nästan) i Mina kurser; där kan du också ta bort det.

Läs mer

Stegen i en kontrollpanel gäller för WebOké; hos andra leverantörer fungerar det på liknande sätt.

Ett ögonblick…

Ställ in dina domäner

Ställ in namnservrar, koppling till ditt webbhotell och vem som blir innehavare för varje domän.

Hämtar dina domäner…