Seite 1 von 1

Umleitung wenn URL Parameter ungleich bestimmter Wert

Verfasst: 23.08.2010 14:32
von ff-webdesigner
Nabend beisammen,

hab gerade ein ungewöhnliches Problem. Das CMS eines Kunden wird regelmäßig über aufrufen von URLs mit MySQL-Parametern gehackt. Anstatt das ganze System sicher umzuschreiben wäre es viel einfacher, einfach diese Einschleusung mittels htaccess zu unterbinden.

die Einzigen URL Parameter die erlaubt sein sollen sind

seite= , inhalt= und attachment=. sonst nichts.

Die Werte der Parameter können 1 bis 4 Ziffern haben. ist irgendwas anderes als parameter drin, soll einfach auf die startseite umgeleitet werden.

admin interface wird hiervon mittels RewriteCond %{REQUEST_URI} !^/admin ausgeschlossen.

Was ich nicht hinbekommen binnen Stunden probieren: den Regulären Ausdruck. Doch reichlich anders und unkontrollierbarer als PHP.

Schaffts jemand?

Danke schon mal!

Re: Umleitung wenn URL Parameter ungleich bestimmter Wert

Verfasst: 06.09.2010 15:58
von Gumbo
ff-webdesigner hat geschrieben:Anstatt das ganze System sicher umzuschreiben wäre es viel einfacher, einfach diese Einschleusung mittels htaccess zu unterbinden.
Das halte ich für eine schlechte Idee. mod_rewrite ist für solche Aufgaben nicht sehr geeignet.

Dennoch:

Code: Alles auswählen

RewriteCond %{QUERY_STRING} ^(([^&]*&)*?)seite=\d{1,4}(&.*|$)|(.*)
RewriteCond %1%3%4 ^(([^&]*&)*?)inhalt=\d{1,4}(&.*|$)|(.*)
RewriteCond %1%3%4 ^(([^&]*&)*?)attachment=\d{1,4}(&.*|$)|(.*)
RewriteCond %1%3%4 !^&*$
RewriteRule ^ - [F]