Einen großartigen Sicherheitsunterschied zwischen Cookies und Sessions gibt es nicht, da die PHP-Sessions ebenfalls (in den meisten Fällen) Cookies benutzen
Der Unterschied ist lediglich wo die Daten der Globalen $_SESSION gespeichert werden. Man könnte auch auf die PHP-Internen Sessions verzichten, und sein eigenes kleines Sessionscript basteln, welches die Daten per MySQL abfragt.
Das bietet dann den Vorteil, dass man die Sessiondaten unmittelbar mit dem Benutzerprofil verknüpfen kann.
Das benutzen von ob_start etc. ist eine der unschöneren Methoden (imho). Man sollte schon dazu in der Lage sein, PHP und HTML vernünftig voneinander zu trennen, dass solche Konflikte gar nicht erst entstehen.
@Mgier:
es gibt einige Texteditoren, die setzen ein sogenanntes BOM (Byte Order Mark, bestehend aus drei Zeichen) an den Anfang der Datei, wenn man den Editor auf UTF-8 gestellt hat. Diese Markierung dient unter anderem dazu, damit andere Editoren sofort erkennen, dass es sich dabei um ein UTF-8 kodiertes Dokument handelt, sorgt aber bei PHP für Probleme, da es somit eine Ausgabe vor dem “<?php” tag gibt.
mfg Balmung