PHP-uitvoering blokkeren in uploadmappen

Dit is een van de meest effectieve maatregelen die weinig mensen nemen. Hij voorkomt dat een geüpload bestand kan worden uitgevoerd.

Het scenario

Via een lek in een plugin, of via een formulier dat uploads niet goed controleert, plaatst iemand een PHP-bestand in uw uploadmap. Roept hij dat bestand daarna aan in de browser, dan draait die code op uw server met alle rechten die uw website heeft.

Dat is de klassieke route naar een besmette site. Kan dat PHP-bestand niet uitgevoerd worden, dan is de upload waardeloos.

De oplossing

Maak een apart .htaccess-bestand in wp-content/uploads/ met deze inhoud:

<FilesMatch "\.(php|php3|php4|php5|php7|php8|phtml|phar)$">
    Require all denied
</FilesMatch>

In die map horen alleen afbeeldingen en documenten te staan, dus u breekt hier niets mee.

Ook nuttig elders

Dezelfde regel is zinvol in elke map waar bezoekers of gebruikers bestanden kunnen achterlaten: een map met formulierbijlagen, een cachemap of een tijdelijke map.

Controleer of het werkt

Plaats tijdelijk een bestand test.php in de uploadmap met daarin alleen wat tekst, en vraag het op in uw browser. Krijgt u “Forbidden”, dan is het goed. Verwijder het testbestand daarna.


Was dit onderwerp nuttig voor U? Ja Nee