xpfreund: Verweis auf Startseite / Sicherheit

Hallo,

1. Ich überprüfe den Get-Wert mit is_numeric. Falls ja, wird der Wert in eine Variable übernommen, wenn nein, soll die gesamte Seite ohne Parameter aufgerufen werden.
Bsp.:
<html>
<head>
...
</head>
<body>
<?php if (is_numeric($_GET[section]))
$seite=$Get[section]
else {lade die Seite neu ohne Get-Parameter)
?>
</body>
<html>
also z. B. Aufruf: www.seite.de?section=5
Ergebnis: schreibe 5 in Variable $seite
Aufruf: www.seite.de?section=x
Ergebnis: seite wird ohne get, also www.seite.de aufgerufen.

location.reload fällt aus (javascript kann ja aus sein)
Was gibts noch für Möglichkeiten? meta-refresh geht ja meines Wissens nur im head zu machen.

2. Ich habe keine Datenbankanbindung. Die Seitenvariable $seite legt fest, welche Seite includiert wird. Was sollte ich noch für die Sicherheit tun?

gruß aus Senftenberg am See

  1. Mahlzeit,

    <html>
    <head>
    ...
    </head>
    <body>
    <?php if (is_numeric($_GET[section]))
    $seite=$Get[section]
    else {lade die Seite neu ohne Get-Parameter)

    header("Location: www.seite.de");

    ?>
    </body>
    <html>
    also z. B. Aufruf: www.seite.de?section=5
    Ergebnis: schreibe 5 in Variable $seite
    Aufruf: www.seite.de?section=x
    Ergebnis: seite wird ohne get, also www.seite.de aufgerufen.

    Das funktioniert allerdings nur, wenn vor dem Aufruf von "header()" noch kein HTML-Output generiert wurde.

    Ich würde sowieso dazu raten, auch bei Scripts streng nach dem EVA-Prinzip vorzugehen, d.h. 1. alle evtl. vorhandenen GET- oder POST-Variablen auf Gültigkeit zu überprüfen (und z.B. ggf. hier- oder dorthin weiterzuleiten), 2. die Eingaben zu verarbeiten und erst danach (3.) überhaupt HTML-Code zu erzeugen.

    MfG,
    EKKi