script.php?var1 -> sicherheit.php?ziel=script.php&var

Wie wir alle wissen (sollten) ändert mod_rewrite keine Links im Script. Damit auch die Links auf Deiner Page auf die neuen "Rewrited URLs" zeigen bedarf es der Anpassung im Code. Fragen und Probleme rund um's Coding werden hier diskutiert.

Moderator: Super-Mod

script.php?var1 -> sicherheit.php?ziel=script.php&var

Beitragvon codeman » 20.10.2007 15:07

Hallo,

ich steh vor dem Problem Jahre lange Arbeit mit register_globals = on auf register_globals = off umzusetzen. Leider sind die Scripte sehr wirr verknüpft, und gehen nicht alle durch ein und das selbe Script, wie heute bei jedem CMS. Es gibt also keine zentrale index.php oder so.

Nach einigem Nachdenken kam mir die Idee, eine Zwischendatei einzuschleusen, in der ich systematisch alle übergebenen Vaiabelen registriere, damit die scripte mit register_globals=off funktionieren. Diese Zwischendatei sicherheit.php soll per mod_rewrite eingeschleust werden, und dann die alte URL parametisiert nachgereicht werden.

Ein Beispeil:
Aus script.php?var1 soll sicherheit.php?ziel=script.php&var1 werden.

Im meinem script sicherheit.php mache ich dann folgendes:

foreach ($_REQUEST as $key => $value)
{
# alle gestetzen Variablen leeren
$$key = '';

# Wert neu Übergeben
$$key = $value;

}
# Einbinden der eigentlichen Zieldatei
include($_REQUEST['ziel']);

Leider kann ich den richtigen Ansatz für die .htaccess nicht finden. Derzeit habe ich:

RewriteEngine on
RewriteRule ^(.*)$ sicherheit.php?ziel=$1 [QSA,L]

Jedoch verschwinden dann alle Bilder, und tiefere links, wie /unterverzeichnis/script2.php?Variable=21
werden so in die Wurzel der Domain included, und in /unterverzeichnis/script2.php enthaltene includes finden Ihren Pfad nicht.

Ich hoffe, Ihr versteht was ich vor habe, und bin dankbar für jede Hilfe.

codeman
codeman
.
.
 
Beiträge: 5
Registriert: 20.10.2007 00:41

Beitragvon Gumbo » 04.11.2007 16:40

Der Ansatz ist schon richtig.
Code: Alles auswählen
RewriteCond %{REQUEST_URI} !^/sicherheit\.php$
RewriteRule ^(.*)$ sicherheit.php?ziel=$1 [QSA,L]
Dein PHP-Skript halte ich übrigens alles andere als der Sicherheit dienlich.
Markus Wulftange
Gumbo
Moderator
Moderator
 
Beiträge: 5019
Registriert: 07.01.2005 01:18
Wohnort: Trier


Zurück zu Programmierung & Scriptanpassung für mod_rewrite

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste