Pålitliga WordPress-handledningar, när du behöver dem som mest.
Nybörjarguide till WordPress
WPB Cup
25 miljoner+
Webbplatser som använder våra plugins
16+
År av WordPress-erfarenhet
3000+
WordPress-handledningar
av experter

Hur man förhindrar WordPress SQL-injektionsattacker (7 tips)

Att säkra din WordPress-webbplats mot SQL-injektionsattacker är nödvändigt för att skydda dina data och behålla dina besökares förtroende.

SQL-injektion är en vanlig teknik som används av hackare för att attackera din databas. När de väl har gjort det kan hackare läsa dina känsliga data, modifiera dem och ta kontroll över hela din databas.

För att skydda din webbplats från detta hot är det avgörande att implementera starka säkerhetsåtgärder på din webbplats.

På WPBeginner tar vi säkerhet på största allvar och har gått långt för att skydda vår webbplats från hackare och skadlig kod. Många av de säkerhetspraxis vi rekommenderar mot SQL-injektionsattacker är metoder vi själva har använt med framgång.

I den här artikeln kommer vi att dela några handlingsbara tips för att förhindra SQL-injektionsattacker i WordPress, steg för steg.

Förhindra WordPress SQL-injektionsattacker

Varför förhindra WordPress SQL-injektionsattacker?

SQL står för Structured Query Language, vilket är ett programmeringsspråk som kommunicerar med din WordPress-webbplats databas. Utan den här funktionen kan din webbplats inte generera något dynamiskt innehåll.

Obehörig användarinmatning, föråldrad programvara eller avslöjande av känslig information kan dock orsaka säkerhetsbrister och göra det enkelt för hackare att utföra SQL-injektionsattacker.

Denna attack riktar sig mot din databasserver och lägger till skadlig kod eller uttalanden till din SQL. När detta har gjorts kan hackare använda känslig information som lagras i din databas, som användardata, för identitetsstöld, kontokapning, finansiell bedrägeri och mer.

De kan också ändra databasposter eller kontobehörigheter och utföra DDoS-attacker, vilket gör det svårt för faktiska användare att besöka din webbplats.

Detta kan skada kundernas förtroende, negativt påverka användarupplevelsen och minska webbplatstrafiken, vilket blir dåligt för tillväxten av din lilla företag.

Med det sagt, låt oss titta på några konkreta tips som kan förhindra SQL-injektionsattacker i WordPress. Här är en snabb översikt över vad vi kommer att prata om i den här artikeln:

  1. Utför regelbundna webbplatsuppdateringar och använd en brandvägg
  2. Dölj din WordPress-version
  3. Ändra WordPress databasprefix
  4. Validera användardata
  5. Begränsa användarrollers åtkomst och behörigheter
  6. Skapa anpassade databasfelmeddelanden
  7. Ta bort onödig databasfunktionalitet

Notera: Innan du gör några ändringar i din databas som förebyggande åtgärder rekommenderar vi att du skapar en säkerhetskopia av den. På så sätt, om något går fel, kan du använda säkerhetskopian för att åtgärda det. För mer information, se vår handledning om hur man gör en manuell säkerhetskopia av WordPress-databasen.

1. Utför regelbundna webbplatsuppdateringar och använd en brandvägg

Ett effektivt sätt att förhindra SQL-injektionsattacker är att regelbundet uppdatera din WordPress-webbplats till den senaste versionen. Dessa uppdateringar lappar ofta upp säkerhetssårbarheter, inklusive problem med databasmjukvara, vilket gör det svårt för hackare att attackera din webbplats.

Om du använder en föråldrad version av WordPress, rekommenderar vi att du aktiverar automatiska uppdateringar för den senaste versionen genom att besöka sidan Instrumentpanel » Uppdateringar.

Klicka här helt enkelt på länken 'Aktivera automatiska uppdateringar för alla nya versioner av WordPress'. Nu kommer alla större uppdateringar att installeras på din webbplats vid lansering.

Installera WordPress-uppdateringar

För mer information kan du ha nytta av att läsa vår nybörjarguide om hur du säkert uppdaterar WordPress.

När du har gjort det kan du även lägga till en brandvägg för ytterligare säkerhet. Den här funktionen fungerar som en sköld mellan din webbplats och inkommande trafik och blockerar vanliga säkerhetshot, inklusive SQL-attacker, innan de når din webbplats.

Om du driver ett litet onlineföretag rekommenderar vi Sucuri, som är ett av de bästa WordPress brandväggsprogramvarualternativen på marknaden. Det erbjuder en brandvägg på applikationsnivå, skydd mot brute force samt tjänster för borttagning av skadlig kod och svartlistning, vilket gör det till ett utmärkt val.

Hur webbplatsbrandvägg blockerar attacker

Vi har förstahandserfarenhet av verktyget. Det hjälpte oss till och med att blockera 450 000 WordPress-attacker på vår webbplats tidigare.

Med det sagt kanske Sucuri inte är tillräckligt kraftfullt för större webbplatser med hög trafik. I så fall kan du överväga Cloudflare, som kan ge dig säkerhetsfunktioner samt ett imponerande innehållsleveransnätverk (CDN).

Om du är osäker på vilket alternativ som är bäst för din webbplats, kolla in vår artikel om varför vi bytte från Sucuri till Cloudflare eller vår jämförelse mellan Sucuri och Cloudflare.

2. Dölj din WordPress-version

Som standard visar WordPress den aktuella versionsnumret för den programvara du använder på din webbplats. Om du till exempel använder WordPress 6.4, kommer den här versionen att visas på din webbplats för spårning.

Din versionsnummers offentliga synlighet kan dock skapa säkerhetshot och göra det lättare för hackare att utföra WordPress SQL-injektionsattacker.

Ta bort WordPress versionsnummer

Detta beror på att varje version av WordPress har sina egna unika sårbarheter som angripare kan utnyttja efter att ha upptäckt din version. Detta gör det möjligt för dem att lägga till skadliga kodavsnitt på din webbplats genom sårbara inmatningsfält.

Du kan enkelt ta bort versionsnumret från din webbplats genom att lägga till följande kodavsnitt i din functions.php-fil.

add_filter('the_generator', '__return_empty_string');

När du har gjort det kommer hackare inte att kunna hitta ditt WordPress-versionsnummer via automatiska skannrar eller på något annat sätt.

Notera: Tänk på att ett mindre fel vid tillägg av kod kan göra din webbplats otillgänglig. Det är därför vi rekommenderar WPCode. Det är det bästa pluginet för kodavsnitt som gör det supersäkert och enkelt att lägga till anpassad kod på din webbplats.

För mer information, se vår handledning om det rätta sättet att ta bort WordPress-versionsnumret.

3. Ändra WordPress databasprefix

Som standard lägger WordPress till prefixet wp_ till alla dina databasfiler, vilket gör det lätt för hackare att planera en attack genom att rikta in sig på prefixet.

Det enklaste sättet att förhindra SQL-injektionsattacker är att ändra standarddatabasprefixet till något unikt som hackare inte kan gissa.

Du kan enkelt göra detta genom att ansluta din webbplats med FTP. Därefter öppnar du filen wp-config.php och hittar ändringen av raden $table_prefix. Sedan kan du ändra den från helt enkelt standard wp_ till något annat som detta: wp_a123456_.

$table_prefix  = 'wp_a123456_';

Därefter måste du besöka cPanel för ditt webbhotellskonto. För den här handledningen kommer vi att använda Bluehost. Din cPanel kan dock se lite annorlunda ut beroende på ditt webbhotell.

Här, byt till fliken 'Avancerat' och klicka på knappen 'Hantera' bredvid avsnittet 'PHPMyAdmin'.

Klicka på knappen Hantera bredvid PHPMyAdmin-sektionen

Detta öppnar en ny sida där du måste välja ditt databasnamn från vänster kolumn och byta till fliken 'SQL' från toppen.

Därefter kan du lägga till följande SQL-fråga i textrutan.

SQL-fråga i phpMyAdmin

Tänk bara på att ändra databasprefixet till det du valde när du redigerade wp-config.php-filen.

RENAME table `wp_comments` TO `wp_a123456_comments`;
RENAME table `wp_links` TO `wp_a123456_links`;
RENAME table `wp_options` TO `wp_a123456_options`;
RENAME table `wp_postmeta` TO `wp_a123456_postmeta`;
RENAME table `wp_RENAME table `wp_commentmeta` TO `wp_a123456_commentmeta`;
posts` TO `wp_a123456_posts`;
RENAME table `wp_terms` TO `wp_a123456_terms`;
RENAME table `wp_termmeta` TO `wp_a123456_termmeta`;
RENAME table `wp_term_relationships` TO `wp_a123456_term_relationships`;
RENAME table `wp_term_taxonomy` TO `wp_a123456_term_taxonomy`;
RENAME table `wp_usermeta` TO `wp_a123456_usermeta`;
RENAME table `wp_users` TO `wp_a123456_users`;

För fler instruktioner kan du se vår handledning om hur man ändrar WordPress databasprefix för att förbättra säkerheten.

4. Validera användardata

Hackare injicerar vanligtvis SQL-attacker på din webbplats genom fält för inmatning av användardata, såsom kommentarsfält eller kontaktformulärsfält.

Det är därför viktigt att validera all data som skickas in på din WordPress-blogg. Det innebär att användardata inte kommer att skickas in på din webbplats om den inte följer ett specifikt format.

Till exempel kan en användare inte skicka in sitt formulär om fältet för e-postadress inte har '@'-symbolen. Genom att lägga till denna validering till de flesta av dina formulärfält kan du förhindra SQL-injektionsattacker.

Validera ditt e-postfält

För att göra detta behöver du Formidable Forms, som är ett avancerat plugin för formulärbyggande. Det kommer med ett alternativ för 'Input Mask Format' där du kan lägga till det format som användarna måste följa för att skicka in data i formulärfältet.

Du kan lägga till ett specifikt format för telefonnummer eller enstaka textfält.

Lägg till format för telefonnummer

Om du inte vill validera dina formulärfält, rekommenderar vi WPForms eftersom det är bästa kontaktformulärpluginet som kommer med komplett spam-skydd och Google reCAPTCHA-stöd.

Det gör det också möjligt att lägga till rullgardinsmenyer och kryssrutor i dina formulär, vilket gör det svårt för hackare att lägga till skadlig data.

wpforms

För mer information, se vår handledning om hur man skapar ett säkert kontaktformulär i WordPress.

5. Begränsa användarrollers åtkomst och behörigheter

Ett annat tips för att förhindra WordPress SQL-injektionsattacker är att begränsa användaråtkomsten till din webbplats.

Till exempel, om du har en blogg med flera författare, då har du olika författare tillsammans med prenumeranter och administratörer. I det fallet kan du förbättra webbplatsens säkerhet genom att begränsa fullständig administratörsåtkomst till endast administratören.

Du kan begränsa alla andra användarroller till specifika funktioner som de behöver för att utföra sitt arbete. Detta minskar användarnas åtkomst till din databas och förhindrar SQL-injektionsattacker.

Du kan göra detta med det kostnadsfria pluginet Remove Dashboard Access. Efter aktivering, besök helt enkelt sidan Inställningar » Åtkomst till instrumentpanelen, där du kan bestämma vilka användarroller som får åtkomst till instrumentpanelen.

Begränsa inställningarna för åtkomst till instrumentpanelen

Om du vill begränsa användare beroende på deras förmåga, kan du se vår handledning om hur man lägger till eller tar bort behörigheter från användarroller i WordPress.

På samma sätt kan du också begränsa författare till sina egna inlägg i ditt adminområde för ökad säkerhet.

6. Skapa anpassade felmeddelanden för databasen

Ibland kan dina användare stöta på ett databasfel på din webbplats, vilket kan visa viktig information om din databas och därmed göra den sårbar för SQL-injektionsattacker.

I så fall rekommenderar vi att du skapar ett anpassat databasfelmeddelande som visas för användare när de stöter på detta vanliga fel. För att göra detta måste du kopiera och klistra in följande innehåll i en anteckningsapp och spara filen som 'db-error.php'.

<?php // custom WordPress database error page
   
  header('HTTP/1.1 503 Service Temporarily Unavailable');
  header('Status: 503 Service Temporarily Unavailable');
  header('Retry-After: 600'); // 1 hour = 3600 seconds
   
  // If you wish to email yourself upon an error
  // mail("your@email.com", "Database Error", "There is a problem with the database!", "From: Db Error Watching");
   
?>
   
<!DOCTYPE HTML>
<html>
<head>
<title>Database Error</title>
<style>
body { padding: 20px; background: red; color: white; font-size: 60px; }
</style>
</head>
<body>
  You got problems.
</body>

Efter det, anslut din webbplats till ett FTP-program och ladda upp filen du just skapade till din webbplats /wp-content/ -katalog.

Nu, när användare stöter på ett databasfel på din webbplats, kommer de att se ett felmeddelande som informerar dem om problemet utan att avslöja någon känslig information.

Anpassad förhandsgranskningssida för databasfel

Dessutom kommer titeln "Databasfel" att visas i webbläsarfliken.

För mer information, se vår handledning om hur man lägger till en anpassad databasfelssida i WordPress.

7. Ta bort onödig databasfunktionalitet

För att förhindra SQL-injektionsattacker bör du också försöka ta bort all databasfunktionalitet och alla filer som du inte behöver på din webbplats.

Till exempel kan du ta bort onödiga tabeller, skräppost eller icke-godkända kommentarer som kan göra din databas sårbar för hackare.

För att ta bort onödig databasfunktionalitet rekommenderar vi WP-Optimize. Det är ett fantastiskt plugin som tar bort onödiga tabeller, inläggsrevisioner, utkast, skräppostkommentarer, borttagna inlägg, pingbacks, inläggsmetadata och mycket mer.

Ta bort onödig databasfunktionalitet

Det tar bort alla filer du inte behöver och optimerar din databas för att bli säkrare och snabbare. För detaljer, se vår nybörjarguide om hur du optimerar din WordPress-databas.

Vi hoppas att den här artikeln hjälpte dig att lära dig hur du förhindrar WordPress SQL-injektionsattacker. Du kanske också vill se vår nybörjarguide om hur du kontrollerar efter säkerhetsuppdateringar för WordPress eller vår ultimata guide till WordPress-säkerhet.

Om du gillade den här artikeln, prenumerera då på vår YouTube-kanal för WordPress-videoguider. Du kan också hitta oss på Twitter och Facebook.

Upplysning: Vårt innehåll stöds av läsarna. Det innebär att om du klickar på några av våra länkar kan vi tjäna en provision. Se hur WPBeginner finansieras, varför det är viktigt och hur du kan stödja oss. Här är vår redaktionella process.

Det ultimata WordPress-verktyget

Få GRATIS tillgång till vår verktygslåda - en samling WordPress-relaterade produkter och resurser som alla proffs bör ha!

Läsarnas interaktioner

3 CommentsLeave a Reply

  1. Det här är nytt för mig att jag enkelt kan dölja wordpress-versionen, vilket som standard förhindrar hackare från att gissa sårbarheter baserat på wordpress-versioner och deras kryphål.
    Bra tips för att skydda webbplatsen från SQL-injektion.
    Jag kommer att implementera dessa knep för att göra min webbplats idiotsäker mot alla säkerhetsluckor.

  2. För mig är det nytt att dölja wordpress-versionen. Varje version av wordpress kommer med sina egna sårbarheter, så att dölja versionsnumret kommer att göra hackare förvirrade om vilken version av wordpress som används, för att inte tala om att utnyttja relaterade sårbarheter, tack för informationen. Jag tror också att om du utvecklar ett plugin som samlar in användarinmatning, är det klokt att rensa användarinmatningar (efter normal validering) som kommer att infogas i databasen.

  3. WordPress-säkerhet är alfa och omega för mig. Relaterat till det är SQL, som jag aldrig har ägnat mycket uppmärksamhet åt. Tack för den här listan med bra tips. Jag ska genast kontrollera min blogg för att se vad jag kan förbättra enligt din lista. Åtminstone ska jag försöka dölja versionen och så vidare.

Lämna ett svar

Tack för att du väljer att lämna en kommentar. Tänk på att alla kommentarer modereras enligt vår kommentarspolicy, och din e-postadress kommer INTE att publiceras. Använd INTE nyckelord i namn fältet. Låt oss ha en personlig och meningsfull konversation.