Sök…


Anmärkningar

WordPress-webbplatser hackas ofta. Detta ämne är för tekniker och metoder som ökar säkerheten för din WordPress-installation utöver vad som uppnås i en basinstallation.

Bortsett från detta ämne är en annan bra plats att läsa om att säkra en WordPress-installation Hardening WordPress Codex-sida .

Inaktivera File Editor

Filredigeraren som levereras med WordPress är en säkerhetsrisk. Om en angripare får administratörstillträde till din WordPress-webbplats kan de enkelt sätta in skadlig kod i tema- och plugin-filer. Det är också en risk för kunder som inte vet vad de gör. När en kollaps i filredigeraren inte har placerats kan den bryta en webbplats och göra den otillgänglig från webbläsaren.

wp-config.php din WordPress wp-config.php fil genom att lägga till följande kodrad.

define( 'DISALLOW_FILE_EDIT', true );

Den raden kommer att ha önskad effekt när den läggs till i ditt temas functions.php fil också, men det är bättre att lägga till i wp-config.php .

Om du använder WordPress CLI för att installera WordPress kan du använda följande kommando för att skapa en wp-config.php fil med wp-config.php inaktiverad.

/* declare variables beforehand or substitute strings in */
wp core config --dbname="$MYSQL_DBNAME" --dbuser="$MYSQL_USERNAME" --dbpass="$MYSQL_PASS" --dbprefix="$WP_DBPREFIX"_ --locale=en_AU --extra-php <<PHP
define( 'DISALLOW_FILE_EDIT', true );
PHP

Den här metoden är användbar om du installerar WordPress med ett skript.

Flytta wp-config.php

Den mest känsliga informationen för en WordPress-installation lagras i wp-config.php filen. Om en hacker får tillgång till den här filen har de total kontroll över din webbplats.

Som standard wp-config.php i installationsmappen för WordPress. För att göra denna fil svårare att stjäla kan du flytta den från den webbåtkomliga mappen. Om du flyttar den bara en mapp ovan hittar WordPress den automatiskt. Om du flyttar wp-config.php till en annan plats skapar du en tom fil som heter wp-config.php i WordPress installationsmapp. Lägg sedan till följande:

define('ABSPATH', dirname(__FILE__) . '/');
// '../../wp-config.php' defines location two folders above installation folder.
// Substitute with actual location of wp-config.php file as necessary.
require_once(ABSPATH . '../../wp-config.php');

Du kan behöva göra php körbart i mappen du placerar wp-config.php i. Du bör göra php körbart i så få mappar som möjligt. Ett bra system sätter WordPress-installationen i /path/to/wordpress/install/ och config in /path/to/wordpress/config . Du skulle se till att konfigurationsmappen inte är tillgänglig på webben och inte placerar någon annan känslig information placeras i /path/to/ eller högre i mapphierarkin. I så fall skulle du skriva en rad som liknar följande i din php.ini :

open_basedir = "/path/to/wordpress/install/;/path/to/wordpress/config"

Den här tekniken är kontroversiell och vissa tycker inte att den förbättrar säkerheten. Omfattande diskussion om ämnet kan läsas på denna WordPress StackExchange-fråga .

Ställ in ett anpassat prefix för WordPress-tabeller

När du installerar WordPress på din server kommer installationsskriptet att placera ett prefix framför alla WordPress MySQL-tabellnamn. Detta prefix är som standard inställt på 'wp_'. WordPress- wp_posts till exempel att kallas wp_posts . Genom att ändra tabellprefixet kan du skapa viss säkerhet genom oklarhet. På det här sättet när en hackare försöker SQL-injektionsattacker, måste de gissa prefixet för ditt bord snarare än att bara använda 'wp_'. Du kan ställa in detta prefix till vad du vill.

Ställ in prefix i ny WordPress-installation

Om du använder berömd 5 minuters installation Ändra prefix i fältet under installationen.

ange bildbeskrivning här

Om du installerar via WordPress CLI använder du följande kommando:

// set other variables above, or substitute your strings in.
WP_DBPREFIX=foo
wp core config --dbname="$MYSQL_DBNAME" --dbuser="$MYSQL_USERNAME" --dbpass="$MYSQL_PASS" --dbprefix="$WP_DBPREFIX"_ --locale=en_AU

Ändra prefix i befintlig installation

Att ändra prefixet är lite svårare. Använd först ett FTP-program som FileZilla för att redigera wp-config.php filen. Ändra posten $table_prefix = 'wp_'; till $table_prefix = 'foo_'; ersätter "foo" med önskat prefix.

Nästa måste vi redigera databasen. Om du har tillgång till phpMyAdmin, logga in och gör följande:

  • Välj WordPress-databasen ange bildbeskrivning här
  • Markera alla tabeller och i rullgardinsmenyn, välj ersätt tabellprefix. ange bildbeskrivning här
  • Skriv "wp_" i "Från". I "Till" skriver du ditt prefix 'foo_' i det här exemplet och trycker på "Skicka". ange bildbeskrivning här
  • Tabeller ska nu se ut så här: ange bildbeskrivning här

Om du inte kan använda phpMyAdmin, använd följande MySQL-kommando:

RENAME table `wp_comments` TO `foo_comments`

Du måste köra det kommandot för varje tabell och ersätta "kommentarer" med de andra tabellnamnen.

Nästa måste vi ändra några poster i vissa tabeller. Kör den här frågan på 'foo_options'-tabellen

SELECT * FROM  foo_options WHERE option_name LIKE '%user_roles%'

En post med alternativnamnet "wp_user_roles" ska visas. I den posten ändra posten "option_name" från wp_user_roles till foo_user_roles .

Öppna sedan upp 'foo_usermeta' -bordet och hitta alla poster med 'wp_' framtill. ange bildbeskrivning här och ändra det till 'foo_'. Antalet poster du måste ändra beror på hur många användare du har. ange bildbeskrivning här

Det borde vara allt du behöver för att ändra prefixet i en befintlig installation



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow