Auge: Eigene Mitgliederverwaltung und Sicherheit

Beitrag lesen

Hallo

Eigentlich würde ich nur gerne wissen, welche Bedenken es bezüglich Sicherheit in meinem Projekt gibt.

Die Funktionen zum Verbinden mit der Datenbank und die benötigten Tabellen-Funktionen stehen in php-Dateien, die wiederrum in htacces-geschützen Ordnern liegen und includet werden. So sollten die Funktionen auf den MySQL-Tabellen ja halbwegs unsichtbar sein, das ganze also relativ sicher.

Noch besser ist die Ablage der PHP-Skripte, mit denen man auf den Mechanismus schließen kann, außerhalb der DOCUMENT_ROOT. So kann zwar weiterhin über das Dateisystem aber nicht über HTTP(S) darauf zugegriffen werden.

Ich möchte das ganze ohne Sessions machen (da ich davon nicht viel Ahnung habe und in anderen Foren auf Beiträge mit Problemen bei Sessions gestoßen bin).

Der Sessionmechanismus von PHP funktioniert, sonst würde der, auch auf großen Seiten, nicht eingesetzt.

Damit der Benutzer jedoch beim wechseln der Seiten trotzdem eingeloggt bleibt, müssen ja gewisse Daten (nur die nötigsten) per POST oder GET zur nächsten Seite übermittelt werden (nach dem Motto userpage.php?logged_in=1) :-).

Grundsätzlich ist allen Daten, die vom Benutzer kommen, zu misstrauen. Das gilt insbesondere für POST- oder GET-Daten.

Die Pseudo-Session-ID müsste zum übertragen per POST dann jedoch auf jeder Seite in einem versteckten Formular schlummern. Da liegt mein Bedenken zur Sicherheit.

Da liegt es zurecht.

Damit es für den Benutzer möglich ist zu jeder beliebeigen Seite zu wechseln, müsste folgendes gegeben sein: Der Seitenlink auf den der Benutzer klickt, müsste eine Javascript-Fkt aufrufen, die im Pseudo-Session-ID-Formular, den action-Attribut ändert (auf die gewünschte Seite).

Ist dieses Script dann eine zusätzliche Sicherheitslücke?

Es ist sowohl eine Sicherheitslücke, da jeder Besucher der Seite auf den Quelltext der JavaScript-Funktion zugreifen kann, als auch eine Barriere, denn es schließt, durch die zwingende Verwendung von JavaScript, Besucher aus, denen dies, aus welchen Gründen auch immer, nicht zur Verfügung steht.

Beschäftige dich mit Sessions (so schwer ist das nicht), übermittle _nur_ die Session-ID (das .htaccess-Passwort ansich wird ja eigenständig übermittelt) und speichere alle Nutzdaten, die über mehrere Seiten hinweg notwendig sind aber noch nicht in der DB gespeichert werden sollen, im Session-Array auf dem Server.

Tschö, Auge

--
Die deutschen Interessen werden am Liechtenstein verteidigt.
Veranstaltungsdatenbank Vdb 0.2