Woher kommt der Surfer?

kickin

Grünschnabel
Hallo Leutz!

Ich habe ein kleines Problem. Habe dies noch nicht in dieser Forum gefunden, wüsste auch gar nicht wonach ich genau suchen sollte.

Folgendes Problem:

Ich habe eine Index.php - Datei. Über diese Datei werden immer die unterschiedlichen Inhalt aufgerufen. Ich rufe die index- Datei auf und übergebe den Pfad, der als Inhalt eingefügt werden soll. Wenn ich dann auf die nächste Seite verlinke, geht der Link wieder auf die index - Datei, aber mit einer anderen Übergebenen URL - zum aufrufen. Soweit so gut.

Jetzt habe ich den Hintergrund, dass verschiedene Inhalte nur von angemeldeten Benutzern eingesehen dürfen. Über die Index- Datei ist das zwar jetzt kein Problem, da ich einfach den Zugang für bestimmt Pfade nicht zulassen kann. Aber wenn der User nicht ganz dumm ist, findet er heraus wo die Datei liegt, die Includet wird (ist ja in jeder verlinkung zu sehen, da es über GET übergeben wird) und ruft sie manuell auf. Und schon kann er fast alles machen. Mindestens kann er aber sensible Daten einsehen und bekommt somit auch zugriff auf Admin-Bereiche (!)
  1. Vielleicht kann ich ja herausfinden, von welcher Seite mich includet oder so
  2. Oder gibt es vielleicht eine Möglichkeit über das Rechte-System under Linux Ich bin da nicht so ganz drin. Dass vielleicht ein Benutzer von außen keinen Zugriff hat, PHP aber die Datei includen kann Das wäre natürlich die einfachste Möglichkeit.

Ich wäre dankbar für jede Hilfe die ich bekommen kann. Oder wenn jemand eine Textstelle aus einen Tutorial weiß, oder ein Stichwort zum suchen, wäre ich auch sehr dankbar.

Gruß

Kickin
 
Du könntest z.B. eine Variable auf true setzten (in der index.php) oder auf sonst was, und dann in der includeten Datei schauen ob diese Variable gesetzt ist. Oder du hast ja bestimmt den Benutzer bzw. seine Daten in einer Session gespeichert. Prüfe für die nötigen Seiten einfach ob die Session existiert und der Benutzer angemeldet hat und die entsprechenden Rechte hat ;)

Eine andere Variante wäre unter Linux mit htaccess...Damit kannst du ganze Verzechnisse schützen, wie z.b. http://download.aquasonic.ch .
 
Hi! Und danke für die schnelle Antwort...

Mein Problem, oder besser gesagt meine Absicht ist es, es mit möglichst wenig Aufwand zum Ziel zu kommen. Ich habe mir darüber auch schon Gedanken gemacht, war mit der Lösung aber nicht so ganz zufrieden.
Denn wenn ich eine neue Seite erstelle, müssen die ganzen Sachen da natürlich wieder rein, die ganzen Überprüfungen etc.

Hat jemand vielleicht einen Lösungsansatz mit Dateirechten? Mein Problem ist es, dass ich davon nicht so die meiste Ahnung habe, wie PHP gehandelt wird. Wenn ich jemand externes Verweigere die Daten Lesen zu können, kann es dann PHP trotzdem noch? Meine Antwort wäre ja, aber wenn mir jemand sagen könnte, so gehts, für PHP reichen Datei-Recht wie xxx wäre das echt nett. :p

Gruß

Kickin
 
Mach doch eine Funktion in eine externe Datei die die Sessiondaten überprüft! Dann musst du nur noch die Funktionsdatei einfügen und in den anderen Dateien , die du überprüfen willst, die Funktion einfügen
 
Füg eine Funktion in die index.php ein

PHP:
function checkLogin() {
   if ($_SESSION['login'] == true) return true;
   else return false;
}

und in den includeten Dateien dies:

PHP:
if (checkLogin()) {

}

Ist ja wohl nicht so ein grosser Aufwand oder? ;)
 
bitte bitte, hab ja nur gemacht was wir schon vorgeschlagen haben ;) Bitte noch das Thema als erledigt markieren wenn es erledigt ist :) - Danke
 
hier noch ne andere Variante:

index.php
PHP:
define('INSERT_NAME_HERE', '1');

In den includes machste dann nur
PHP:
if(!defined("INSERT_NAME_HERE")) die('hacking not allowed!');
Also für die Kontante kannste dir natürlich noch andere namen raussuchen :)
 
Zurück