Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
WPB Cup
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

Så här förhindrar du SQL-injektionsattacker i WordPress (7 tips)

Att säkra din WordPress-webbplats mot SQL-injektionsattacker är nödvändigt för att skydda dina data och upprätthå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, ändra dem och ta kontroll över hela din databas.

För att skydda din webbplats från det här hotet är det viktigt att du implementerar kraftfulla säkerhetsåtgärder på din webbplats.

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

I den här artikeln delar vi med oss av några konkreta tips för att förhindra SQL-injektionsattacker i WordPress, steg för steg.

Prevent WordPress SQL Injection Attacks

Varför förhindra SQL-injektionsattacker i WordPress?

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

Obehöriga inmatningar från användare, outdated programvara eller avslöjande av känslig information kan dock orsaka säkerhetsproblem och göra det enkelt för hackare att utföra SQL-injektionsattacker.

Denna attack riktar sig mot din database server och adderar skadlig kod eller uttalanden till din SQL. När de gör det kan hackare använda känslig information som lagras i din database, gillar användardata för identitetsstöld, kontoövertagande, ekonomiskt 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, påverka användarupplevelsen negativt och minska webbplatstrafiken, vilket är dåligt för tillväxten i ditt småföretag.

Med detta sagt, låt oss ta en titt på några praktiska 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:

Note: Innan du gör några ändringar i din database i förebyggande syfte rekommenderar vi att du skapar en backup av den. På så sätt kan du använda backupen för att fixa det om något går fel. För detaljer, se vår tutorial om hur du gör en backup av WordPress database manuellt.

1. Utför updates av webbplatser regelbundet och använd en firewall

Ett effektivt sätt att förhindra SQL-injektionsattacker är att regelbundet updating din WordPress site till den senaste versionen. Dessa updates åtgärdar ofta säkerhetsproblem, inklusive software issues i databaser, vilket gör det svårt för hackare att attackera your webbplatser.

Om du använder en outdated version av WordPress rekommenderar vi att du aktiverar automatiska uppdater ingar till den senaste versionen genom att besöka sidan Dashboard ” Updates.

Här klickar du 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 när de släpps.

Install WordPress updates

För mer information kanske du gillar vår guide för nybörjare om hur du uppdaterar WordPress på ett säkert sätt.

När du har gjort det kan du också add to en firewall för ytterligare säkerhet. Den här funktionen fungerar som en sköld mellan din site och inkommande trafik och blockerar vanliga säkerhetshot, inklusive SQL-attacker, innan de når din website.

Om du driver ett litet onlineföretag rekommenderar vi Sucuri, som är ett av de bästa brandväggsalternativen för WordPress på marknaden. Den erbjuder en brandvägg på applikationsnivå, brute force prevention samt tjänster för borttagning av skadlig kod och svarta listor, vilket gör den till ett utmärkt val.

How website firewall blocks attacks

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

Sucuri kanske dock 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 såväl som ett imponerande CDN-nätverk (Content Delivery Network).

Om du är osäker på vilket alternativ som är bäst för din webbplats kan du läsa 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 det aktuella versionsnumret för den programvara som du använder på din website. Om du till exempel använder WordPress 6.4, kommer denna version att visas på din site för tracking.

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

Remove WordPress version number

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. This will allow them to add malicious code snippets to your site through vulnerable input fields.

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

add_filter('the_generator', '__return_empty_string');

När du har gjort det kan hackare inte hitta ditt WordPress versionsnummer via automatiska scanners eller på något annat sätt.

Note: Tänk på att ett mindre error när du lägger till kod kan göra din website otillgänglig. Det är därför vi rekommenderar WPCode. Det är det bästa code snippets plugin som gör det supersäkert och enkelt att lägga till customize-kod på din site.

För mer detaljer, se vår tutorial om hur du tar bort WordPress versionsnummer på rätt sätt.

3. Ändra prefixet för WordPress Database

Som standard addar WordPress prefixet wp_ till all din database, vilket gör det enkelt 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 prefixet för standarddatabasen med något unikt som hackare inte kan gissa sig till.

Du kan enkelt göra detta genom att ansluta din website med FTP. Efter det öppnar du filen wp-config.php och hittar ändra $table_prefix-raden. Sedan kan du ändra det från bara standard wp_ till något annat som detta: wp_a123456_.

$table_prefix  = 'wp_a123456_';

Därefter måste du besöka cPanel på ditt webbhotellkonto. För denna handledning kommer vi att använda Bluehost. Din cPanel kan dock se lite annorlunda ut beroende på ditt webbhotell.

Här växlar du till tabben ”Advanced” och klickar på knappen ”Manage” bredvid ”PHPMyAdmin” section.

Click the Manage button next to the PHPMyAdmin section

Detta kommer att öppna en new page där you måste select your database name from the left column and switch to the ”SQL” tabs from the top.

Följaktligen kan du add to följande SQL sökning i text boxen.

SQL query in phpMyAdmin

Kom bara ihåg att ändra prefixet för databasen till det som du valde när du redigerade filen wp-config.php.

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`;

Mer information hittar du i vår tutorial om hur du ändrar prefixet för WordPress database för att förbättra säkerheten.

4. Bekräfta data från användare

Hackare brukar utföra SQL-attacker på din webbplats genom att använda fält för inmatning av användardata, t.ex. kommentarsfält eller kontaktformulär.

Därför är det viktigt att validera alla data som skickas in på din WordPress-blogg. Detta innebär att användardata inte kommer att skickas in på din webbplats om de inte följer ett visst format.

Till exempel kommer en användare inte att kunna submit sitt formulär om fältet email address ej har symbolen ’@’. Genom att lägga till denna bekräftelse i de flesta av dina formulärfält kan du förhindra SQL-injektionsattacker.

Validate your email field

För att göra detta behöver du Formidable Forms, som är ett avancerat plugin för form builder. Det kommer med ett ”Input Mask Format” alternativ där du kan add to det format som användare måste följa för att submit formulärets field data.

You can add a specific format for phone numbers or single text fields.

Add hone number format

Om du inte vill bekräfta dina formulärfält rekommenderar vi WPForms eftersom det är det bästa pluginet för kontaktformulär som kommer med komplett skräppostskydd och Google reCAPTCHA-support.

Du kan också 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 detaljer, se vår tutorial om hur du skapar ett säkert kontaktformulär i WordPress.

5. Limitera åtkomst och behörigheter för användares roller

Ett annat tips för att förhindra SQL-injektionsattacker i WordPress är att limitera användarnas åtkomst till din website.

Till exempel, om du har en blogg med flera författare, kommer du att ha olika författare tillsammans med prenumeranter och administratörer. I så fall kan du förbättra säkerheten på site admin genom att limitera den fullständiga admin-åtkomsten till administratören.

Du kan begränsa alla andra roller för användare till specifika funktioner som är obligatoriska för att de ska kunna utföra sitt arbete. Detta kommer att minska användarnas tillgång till din database och förhindra SQL-injektionsattacker.

Du kan göra detta med det kostnadsfria pluginet Remove Dashboard Access. Vid aktivering besöker du helt enkelt sidan Inställningar ” Dashboard Access, där du kan bestämma vilka användarroller som får tillgång till instrumentpanelen.

Limit the dashboard access settings

Om du vill limitera användare beroende på deras capability kan du läsa vår tutorial om hur du lägger till eller tar bort capabilities från användarroller i WordPress.

På samma sätt kan du också begränsa författarna till sina egna poster i ditt admin area för mer säkerhet.

6. Skapa Customize Database Error Messages

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

I så fall rekommenderar vi att du skapar ett custom database error message som kommer att visas för användare när de stöter på detta vanliga error. För att göra detta måste du copy and paste följande content till en notepad app och save 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>

Därefter ansluter du din webbplats till ett FTP-program och uppladdar filen som du just skapade till webbplatsens /wp-content/ directory.

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.

Custom database error preview page

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

För mer detaljer, se vår tutorial om hur du lägger till en customize database error page i WordPress.

7. Remove onödig funktionalitet i Database

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

You kan till exempel ta bort onödiga tabeller, trash eller unapproved comments som kan göra your database känslig för hackare.

För att remove onödig funktionalitet i databasen rekommenderar vi WP-Optimize. Det är ett fantastiskt plugin som tar bort onödiga tabeller, post revisioner, drafts, trashade comments, borttagna posts, pingbacks, post metadata, och så mycket mer.

Remove unecessary database functionality

Den tar bort alla filer som du inte behöver och optimerar din database så att den blir säkrare och snabbare. För detaljer, se vår Beginner’s Guide om hur du optimerar din WordPress Database.

Bonus: Använd WPBeginners Pro-tjänster för att skapa en säker site

När du har vidtagit alla förebyggande åtgärder mot SQL-injektionsattacker kan du också välja WPBeginner Pro Services.

Vi kan hjälpa dig att identifiera och fixa alla andra säkerhetsproblem som du ej känner till. Om du redan har utsatts för en SQL-injektionsattack kan våra experter dessutom hjälpa dig att begränsa skadan och återskapa dina system.

WPBeginner Professional Services Hacked Site Repair

You can also hire us to improve your site’s speed optimization, design, sökmotorsoptimering, or even completely rebuild your existing WordPress site, whether it’s been hacked or ej.

För mer information, kontrollera alla våra professionella WPBeginner-tjänster.

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

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

Avslöjande: Vårt innehåll stöds av våra läsare. 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 editoriala process.

Avatar

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

Den ultimata WordPress-verktygslådan

Få GRATIS tillgång till vår verktygslåda - en samling WordPress-relaterade produkter och resurser som varje professionell användare bör ha!

Reader Interactions

1 kommentarLämna ett svar

  1. Jiří Vaněk

    WordPress security is alpha and omega for me. Related to that is SQL, which I’ve never paid much attention to. Thanks for this list of great tips. I’m going to check my blog right away to see what I can improve according to your list. At least I’ll try to hide the version and so on.

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åra policy för kommentarer, och din e-postadress kommer INTE att publiceras. Vänligen använd INTE nyckelord i namnfältet. Låt oss ha en personlig och meningsfull konversation.