Moin, bin grad leider nicht zu Hause und habe hier keine Möglichkeit meine Frage durch ausprobieren/testen zu klären.
Szenario:
Habe ein Script welches bestimmte Bereiche nur bestimmten Benutzern zur Verfügung stellt.
Login ist via Sessions geregelt.
Seite ist wie folgt aufgebaut:
- index.php
- header.inc.php
- navi.inc.php
- news.inc.php
- artikel.inc.php
- footer.inc.php
Die Dateien mit der Endung inc.php werden via include() in der Datei index.php eingebunden. (je nachdem welchen wert die Variable do hat wird entweder news.inc.php, oder artikel.inc.php eingebunden.
In der index.php ist auch die Überprüfung ob der User eingeloggt ist.
Der User könnte jetzt trotzdem z.B. die news.inc.php aufrufen und würde diese angezeigt bekommen, obwohl dieser nicht eingeloggt ist.
Die Überprüfung in der index.php könnte z.B. so aussehen:
|
PHP Quellcode
|
1
2
3
4
5
6
7
8
9
|
session_start ();
if (!isset ($_SESSION["user_id"]))
{
header ("Location: login.php");
}
if($_SESSION['IP'] != $_SERVER['REMOTE_ADDR'])
{
header ("Location: login.php");
}
|
Kann ich diese Überprüfung auch in alle anderen Dateien einbauen, ohne das es zu Komplikationen kommt?
Wenn ich dies mit in die anderen Dateien einbaue dan habe ich dies, wenn die index.php aufgerufen wird ja mehrmals.
Weshalb ich unsicher bin, ist der Grund, dass ich dann ja auch mehrmals session_start() aufrufe. Kann es da zu Problemen kommen?
Kanns jetzt leider nicht testen, jedoch bin ich sehr neugierig und vielleicht weiß es ja jemand auf die Schnelle.
Danke!
Gruß: elzumo