Get WordPress beschermd: de naam van de map plugins
English version: Get WordPress protected: rename the plugins folder
Het is een van de meest onderschatte manieren om de WordPress-beveiliging sterker te maken door de map met plug-ins een nieuwe naam te geven. En toch is het gratis en eenvoudig.
Waarom het belangrijk is en hoe het werkt
Volgens onze onderzoeken bij Cerber Lab gaan de meeste aanvallen van hackers en pogingen tot misbruik van plugin kwetsbaarheden ervan uit dat alle WordPress-plug-ins zich in de standaardmap bevinden voor alle plug-ins, wat / wp-content / plugins / is . Gelukkig kan de naam van de map gemakkelijk worden veranderd in wat u maar wilt in letterlijk twee eenvoudige stappen. Betekent dit dat cybercriminelen geen kennis hebben over de mogelijkheid om de map te hernoemen en blindelings de standaard pluginlocatie aan te vallen? Nee, niet altijd, maar de overgrote meerderheid van WordPress-websites maakt gebruik van de standaard mappenstructuur , en daarom misbruiken cybercriminelen deze zwakte met gemak.
Onze analyse laat zien dat de meeste websites worden gehackt door misbruik te maken van een kwetsbaarheid in een verouderde plug-in en dat de aanvaller in de meeste gevallen het beveiligingslek heeft gebruikt in het PHP-bestand dat zich in de standaardmap WordPress-plug-ins bevindt.
Tip: gebruik de Cerber-malwarescanner om een kwetsbaarheid te vinden in geïnstalleerde plug-ins .
Hoe de WordPress plug-ins map te hernoemen
Allereerst moet u toegang hebben tot de bestanden op uw website via uw hostcontrolepaneel, dat meestal een bestandsbeheerder heeft. U kunt ook een FTP-client gebruiken.
De eerste stap is om de map plug-ins te hernoemen naar elke gewenste naam. Laten we aannemen dat we de naam van de module gebruiken. De naam van de map mag alleen ASCII-tekens bevatten. Eenvoudig gezegd "gebruik alleen Latijnse letters".
De tweede stap is het toevoegen van twee definitie-instructies aan het bestand wp-config.php die WordPress vertellen dat we een nieuwe naam gebruiken voor de map met plug-ins. Zie het onderstaande voorbeeld en let op:
- U moet richtlijnen toevoegen aan het begin van het bestand op de volgende regel na <? Php .
- Geen achterstand slashes.
<? Php
define ('WP_PLUGIN_DIR', '/ full / path / to / wp-content / modules');
define ('WP_PLUGIN_URL', 'https://example.com/wp-content/modules');
De constante WP_PLUGIN_DIR definieert het volledige pad zonder de schuine streep naar de hernoemde map met plug-ins te verplaatsen.
De constante WP_PLUGIN_URL definieert de URL zonder de schuine streep van de map met de hernoemde plug-ins.
Zodra u deze twee stappen hebt voltooid, voegt u nog een beveiligingsdrempel aan uw WordPress toe. Een ander beveiligingsmechanisme dat u moet overwegen, is het inschakelen van geplande malwarescans .
Mogelijke problemen en probleemoplossing
De website wordt niet geladen. Het betekent meestal dat je een typefout hebt gemaakt in de mapnaam. Controleer zorgvuldig de definities die u hebt toegevoegd aan wp-config.php, het volledige pad en de URL die u hebt opgegeven.
Sommige functies werken niet meer. Je hebt toevallig een slecht ontworpen of verouderde plug-in op de website geïnstalleerd. Het beste wat je kunt doen is er vanaf komen. Er zijn geen excuses voor het ontwikkelen van slechte plug-ins. Een plugin-ontwikkelaar moet zich houden aan de coderingsstandaarden van WordPress.
Hoe de standaard mapnaam te herstellen. Verwijder alle regels met WP_PLUGIN_DIR en WP_PLUGIN_URL- richtlijnen uit het bestand wp-config.php, hernoem de plugin-map terug naar plug-ins .
I tried changing the directory but it didn’t work.
Looking for more information I found something that works.
define( ‘WP_PLUGIN_DIR’, dirname(__FILE__) . /content/mod’);
define( ‘WP_PLUGIN_URL’, ‘http://example.com/content/mod’);
Why this way if it works and not the way you have in the post?
Has anything changed in the latest versions of WordPress?
The same thing happens to me with WP-CONTENT
Thanks
Yes, you can use this way too but it leaves some room for uncertainty because a constant should be constant. The perfect way is to define a static value like a string. It didn’t work for you most likely because the path you specified for WP_PLUGIN_DIR was not correct. Possibly because you had changed the default wp-content path to content. In this case, the full config should be:
// no trailing slashes
define('WP_CONTENT_DIR', dirname(__FILE__) .'/content');
define('WP_CONTENT_URL', 'https://example.com/content');
define('WP_PLUGIN_DIR', WP_CONTENT_DIR . '/mod');
define('WP_PLUGIN_URL', WP_CONTENT_URL . '/mod');
Thanks!
I started by following this other post https://wpcerber.com/turn-wordpress-into-fort-knox/
But I couldn’t get it to work well.
Yes, that approach requires some technical background.