Verweis auf Startseite / Sicherheit
xpfreund
- php
0 EKKi
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
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