Giovanni
Mitglied
Hallo zusammen,
also ich hab ein Problem bzw. kein wirkliches Problem, also ich hab ein Login geschrieben, der funktioniert ohne Probleme. Und dann werde ich weiter geleitet auf die andere php datei, auch das läuft ohne weiteres.
Doch nun habe ich ein Admin mit einbezogen, und ne weiter SESSION hinzugefügt um zu überprüfen ob es ein Admin ist oder nicht, die ganzen Login Daten beziehe ich aus einer Datenbank.
So das problem liegt jetzt regel recht dass der md5() befehl irgendwie nicht so richtig klappt...
So ich setze in die Session die ganzen Informationen wie man sieht, zum einem die Sachen die man eingibt beim Login und dann noch benutzer definiertes...
[login.php]
die Zeile $_SESSION['admin'] ist die wichtige
Nun und hier ist die Abfrage der
[admin.php]
Das lustige ist, das Funktioniert auch, doch der hacken ist ich verstehe nicht warum das Funktioniert, denn das dürfte eigentlich nicht funktionieren.
Denn wenn man sich die Zeile von der Login anschaut und die wichtige Zeile in der admin.php
müsste eigentlich Sie verfügen über keine Rechte in diesem Bereich erscheinen und nicht die ausgabe der kompletten $_SESSION per print_r.
Könnt ihr mir da irgendwie helfen, das ich verstehe wieso es trotzdem funktioniert?
Danke
Giovanni
also ich hab ein Problem bzw. kein wirkliches Problem, also ich hab ein Login geschrieben, der funktioniert ohne Probleme. Und dann werde ich weiter geleitet auf die andere php datei, auch das läuft ohne weiteres.
Doch nun habe ich ein Admin mit einbezogen, und ne weiter SESSION hinzugefügt um zu überprüfen ob es ein Admin ist oder nicht, die ganzen Login Daten beziehe ich aus einer Datenbank.
So das problem liegt jetzt regel recht dass der md5() befehl irgendwie nicht so richtig klappt...
So ich setze in die Session die ganzen Informationen wie man sieht, zum einem die Sachen die man eingibt beim Login und dann noch benutzer definiertes...
[login.php]
PHP:
$all = md5($REMOTE_ADDR.$_SERVER['HTTP_USER_AGENT']); // IP, Browser, Betriebsystem
$_SESSION['all'] = $all;
$_SESSION['login_id'] = $login_id;
$_SESSION['login_passwort'] = md5($login_passwort);
$_SESSION['admin'] = md5($login_id.$_SESSION['userpw'].$all);
Nun und hier ist die Abfrage der
[admin.php]
PHP:
session_start();
if(!isset($_SESSION['all]) && !isset($_SESSION['admin'])) {
// Abbruch
die("Unerlaubter Zugriff");
}
else {
$all = md5($REMOTE_ADDR.$_SERVER['HTTP_USER_AGENT']); // IP, Browser, Betriebsystem (all)
$admin = md5($_SESSION['login_id'].$_SESSION['login_passwort'].$all);
if($_SESSION['all'] != $all && $_SESSION['admin'] == $admin) {
// Abbruch
die("Sie verfügen über keine Rechte in diesem Bereich");
}
else {
require "config.php";
define("ACCESS", true);
echo "<pre>";
print_r($_SESSION);
echo "</pre>";
}
}
Das lustige ist, das Funktioniert auch, doch der hacken ist ich verstehe nicht warum das Funktioniert, denn das dürfte eigentlich nicht funktionieren.
Denn wenn man sich die Zeile von der Login anschaut und die wichtige Zeile in der admin.php
PHP:
[login.php]
$_SESSION['admin'] = md5($login_id.$_SESSION['userpw'].$all);
[admin.php]
$admin = md5($_SESSION['userid'].$_SESSION['userpw'].$all);
müsste eigentlich Sie verfügen über keine Rechte in diesem Bereich erscheinen und nicht die ausgabe der kompletten $_SESSION per print_r.
Könnt ihr mir da irgendwie helfen, das ich verstehe wieso es trotzdem funktioniert?
Danke
Giovanni