Du brauchst eine Session nicht validieren ...
Der Vorgang ist folgender:
Wenn Du eine Session startest, dann wird für den User(Browser) eine Session ID erzeugt. Genau gesagt wird auf dem Server eine Textdatei angelegt, die den Namen der SessionID trägt und dazu dient, alle von Dir erzeugten Session-Variablen zu speichern. Diese ID wird dann dem Browser mitgeteilt (entweder Cookie oder falls dies nicht möglich wird die ID an jeden Link automatisch angehängt). Bei jedem Seitenaufruf erhält nun der Server die ID und lädt die entsprechenden SessionVariablen (Sessiondatei)
Besipielprojekt:
Um sicher zu sein, dass nur User bestimmte Seiten sehen können müssen sie sich zunächst anmelden. Erst nachdem eine Anmeldung erfolgreich war werden bestimmte Variablen in die Session geschrieben. Das bedeutet, wenn Du z.B. eine Sessionvariable "AnmeldungOK" erst nach erfolgreicher Anmeldung auf "True" setzt, dann kannst Du damit errreichen, dass nur User eine bestimmte Seite angezeigt bekommen können, wenn eben diese Variable "True" ist.
Theoretisch kann ein Fremder auch mit einer erfundenen SessionID auf die Session eines anderen Users zugreifen, da die SessionID aber ein 32-Zeichen langer Crypt-Wert ist sollte das eher unwahrscheinlich sein.
Ausserdem werden die Session-Daten automatisch nach einem bestimmten Intervall auf dem Server gelöscht. (default ist meist 1 Stunde)
Lies mal das Kapitel "
Sessions" in der PHP-Hilfe, da sind auch recht gute Beispiele dabei ...