Pagina 1 van 1

htaccess verbied afvangen van PHP (extensies) behalve... die ene

Geplaatst: 09 mei 2021, 14:28
door Nevile Wilder
Hoi,

In mijn htaccess heb ik rewriterules staan voor heel veel verschillende php bestandsnamen. ER wordt dagelijks heel wat uitgeprobeerd en dergelijke stoutersts leid ik om naar de index html.

RewriteRule (?:^|/)bestandnaam\.php$ /index.html [R=301,L]

En, zoals je waarschijnlijk wel zult zien aankomen, moet de lijst met omleidingen regelmatig worden aangevuld omdat de meest vreemde bestandsnamen worden uitgeprobeerd.

RewriteRule (?:^|/)bestandnaama\.php$ /index.html [R=301,L]
RewriteRule (?:^|/)bestandnaamb\.php$ /index.html [R=301,L]
RewriteRule (?:^|/)bestandnaamc\.php$ /index.html [R=301,L]

En daar ben ik wel klaar mee. Het htaccess bestand wordt zo idioot lang... Echter ik krijg het niet voor elkaar om IEDER .php bestand om te leiden BEHALVE die ene voor mijn contactscript...

Iemand die weet hoe ik dat het beste, met een rewriterule, kan doen? Ik dacht zelf aan iets met een NOT in de .php$ maar het lukt me niet.

Thanks!

Nev

Re: htaccess verbied aflebberen van PHP (extensies) behalve... die ene

Geplaatst: 09 mei 2021, 21:20
door RobbyTown
Ik snap niet helemaal het probleem / doel. Als er een bestand / PHP file niet bestaat word het toch een error 404 pagina?

Code: Selecteer alles

ErrorDocument 404 /index.html

Re: htaccess verbied aflebberen van PHP (extensies) behalve... die ene

Geplaatst: 10 mei 2021, 07:29
door Nevile Wilder
Hoi,

Om allerlei 'scanning' en 'sniffing' te voorkomen blokkeer ik voor de buitenwereld zoveel mogelijk .php bestanden die tot identificatie van de webapplicatie kunnen leiden. Is onderdeeltje van de OWASP als mitigatie. Het is niet meer dan het verkleinen van de attack vector.

Nev

Re: htaccess verbied aflebberen van PHP (extensies) behalve... die ene

Geplaatst: 10 mei 2021, 08:25
door Nevile Wilder
Ik geloof dat ik em heb:

<FilesMatch "\.(php)$">
RewriteRule !/contact/contact.php$ /content/index.html [R=301,L]
</FilesMatch>

Ik zie geen foutmeldingen in het log dus kennelijk toegestaan.

Bedoeling: ieder vraag naar een PHP bestand resulteert in een redirect naar de hoofdpagina van de website, BEHALVE als het contactscript wordt aangeroepen.

Als iemand verbeteringen en/of tips heeft verneem ik die graag!

Nev

Re: htaccess verbied aflebberen van PHP (extensies) behalve... die ene

Geplaatst: 10 mei 2021, 10:16
door Hiranthi Herlaar
Hoi Nev,

Wanneer er maar 1 .php-bestand bestaat en je alle andere aanvragen voor .php-bestanden wil redirecten, is het inderdaad het meest praktisch om te checken of het om dat ene .php-bestand gaat (en zo niet, redirecten, dus wat je nu ook hebt ingesteld).

Je zou ook code kunnen gebruiken waarbij aanvragen voor niet-bestaande (.php-)bestanden automatisch worden doorgestuurd. Maar dat wat je nu hebt, doet z'n werk ook gewoon. En jouw RewriteRule zorgt er ook voor dat wanneer er wel malafide .php-bestanden aan jouw pakket toegevoegd zouden zijn, die bestanden alsnog niet opgeroepen kunnen worden om uit te voeren :)

Wanneer je graag wil weten of .htaccess-code goed werkt, kun je die overigens testen via deze website: https://htaccess.madewithlove.be/

Tags als IfModule worden daar in ieder geval niet herkend (en FilesMatch dus mogelijk ook niet), maar dergelijke regels worden met het testen dan gewoon overgeslagen. Waardoor de daadwerkelijke .htaccess-code dus alsnog wel getest wordt.

Bij het URL-veld had ik

Code: Selecteer alles

https://testdomein.nl/bestand.php
ingevuld en in het .htaccess-veld jouw RewriteRule regel. Daar kreeg ik dit resultaat mee:

Code: Selecteer alles

RewriteRule !/contact/contact.php$ /content/index.html [R=301,L]

The new url is https://testdomein.nl/content/index.html
Test are stopped, a redirect will be made with status code 301
Ofwel: dat ziet er goed uit :)

Re: htaccess verbied aflebberen van PHP (extensies) behalve... die ene

Geplaatst: 10 mei 2021, 10:46
door Nevile Wilder
Dag Hiranthi,

TOP zeg dat je even wilde checken!! Geeft me gelijk een wat zekerder gevoel. Ik krijg van regexen en dit soort constructies namelijk altijd pukkeltjes... ;-)

Omdat ik ook nogal wat polling op .asp bestanden in mijn log zag heb ik die er gelijk maar bij gezet ( "\.(php|asp)$" ).

Dank zeker ook voor de link, ik ga daar zeker eens leuk mee experimenteren,

Nev