Alex: Sicherheit: MySql-Injection und Zugriff "von aussen"

Beitrag lesen

Hi,

Ein Mitglied loggt sicht ein und surft nun im Mitgliederbereich, meinetwegen auf der Unterseite "angebote.php", auf welcher eben Angebote und Einkaufspreise angezeigt werden.

Das Mitglied erwartet also den selben Inhalt, wenn er erneut diese gebookmarkte Seite aufruft.

Einen Tag später will es über diesen Bookmark auf diese Seite zugreifen (ohne eingeloggt zu sein). Und JETZT soll eine Umleitung auf die index.php (Startseite) stattfinden,

Das wird dann wohl genau der Zeitpunkt sein, in dem sich der Kunde überlegt, ob es nicht vergleichbare Angebote gibt, bei denen er seine Bookmarks auch tatsächlich nutzen kann.

wo sich das Loginmodul befindet.

Ich dachte, das gäbe es auf jeder Seite?!

Wenn ich das mit htaccess realisieren kann, wäre super und spart ne Menge Programmieraufwand.

»»
Wie schon von anderen gesagt: Das willst du nicht (bzw. solltest du nicht wollen)

So habe ich es mir auch vorgestellt. Sähe also so aus: z.B.
Ordner "domain" = DocumentRoot; Inhalt: index.html
Ordner "mitglieder" = kein Zugang über HTTP; Inhalt: angebot.php

Dass es so nicht finktioniert, wurde ja schon gesagt. Aber nochmal etwas anderes zu deiner Ordner/Datei-Struktur.

Ordner kannst du machen, wie du das für richtig hälst. Über htaccess, was du ja unbedingt nutzen magst ;), kannst du auch so tun als hättest du Ordner bzw. du kannst so tun als hättest du keine. (Damit meine ich, du kann ModRewrite nutzen und die URLs umschreiben lassen. Wenn der User www.example.com/Angebote aufruft, wird er z.B. im Hintergrund auf das Skript im Ordner /Mitgliederbereich/Angebote/übersicht.php geleitet)

Egal wie du es machst: Du brauchst in jedem Skript, welches über HTTP angesteuert werden kann eine Rechteüberprüfung. Das sind wenige Zeilen Code, die viel nützen.

Ich habe z.B. eine Funktion check_rechte($min_rechte), die ich immer dann aufrufe, wenn der User ein bestimmtes Rechtelevel braucht. Da trage ich dann ein, dass er das Level 2 z.B. braucht um den Inhalt zu sehen. Dieser Inhalt steht dann da wenn check_rechte(2) true ist. Wenn es false ist, steht entweder nur der Hinweis, dass der User sich einloggen soll (das Loginformular ist dann immer links auf der Seite und führt auch wieder genau auf diese Seite) oder er sieht eben einen anderen Inhalt, den dann jeder sehen darf. (z.B. in einem Forum, wenn check_rechte(1) true ist, sieht der User einen Antworten-Button - ansonsten sieht er nur einen Hinweis, dass er sich registrieren muss, um antworten zu können...)

Gruß
Alex