• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

.htaccess - Requests mit bestimmtem Keyword sperren außer für gewisse IPs

scbawik

Senior HTML'ler
Entweder stehe ich gerade mächtig auf dem Schlauch, oder ich finde einfach nichts via Google.

Ich möchte alle Requests blockieren, die ein bestimmtes Keyword enthalten:
http://demo.dev/de/<keyword>.php
http://demo.dev/de/app.php?param=<keyword>&…
http://demo.dev/<keyword>/bild.jpg

Allerdings sollte ich ein paar IPs definieren können, die zugelassen sind.

Bisher habe ich nur:
Code:
order deny,allow
deny from all
allow from ::1
allow from 127.0.0.1

Leider weiß ich nicht wie ich jetzt nur Requests mit besagtem Keyword blockiere?

Danke!
 
Ging das nicht über filesMatch?
Code:
<filesMatch "^(exec|env|doit|phpinfo|w).*$">
Order deny,allow
Deny from all
Allow from 192.168.1.104 192.168.1.205
</filesMatch>

Bin nicht ganz sicher, sollte aber zumindest ein Ansatz sein.
 
Ging das nicht über filesMatch?
Code:
<filesMatch "^(exec|env|doit|phpinfo|w).*$">
Order deny,allow
Deny from all
Allow from 192.168.1.104 192.168.1.205
</filesMatch>

Bin nicht ganz sicher, sollte aber zumindest ein Ansatz sein.

Danke für die Antwort!

Code:
<FilesMatch "keyword">
Order deny,allow
Deny from all
</FilesMatch>

sperrt jetzt alle Dateien mit "keyword".
Allerdings brauche ich noch Ordner und URL-Parameter.

Für Ordner dachte ich mir logischerweise <DirectoryMatch>, allerdings darf man das nicht in der .htaccess setzen.

Update:

Code:
RewriteEngine On
RewriteCond %{REMOTE_ADDR} !^127\.0\.0\.1
RewriteCond %{REMOTE_ADDR} !^\:\:1
RewriteCond %{QUERY_STRING} .*keyword.* [OR]
RewriteCond %{REQUEST_FILENAME} .*keyword.*
RewriteRule ^(.*)$ index.php [F,L]

Funktioniert soweit.
 
Zuletzt bearbeitet:
Zurück
Oben