optimale lösung für adminberreich ?
Soße
- php
0 Frank0 Soße
0 Michael Schröpl
Halle,
ich poste euch jetzt mal meinen lösungsvorschlöag für einen adminberreich:
index.php:
<?php
// Session starten
session_start();
if ($user != '' && $pass != '') // Abfrage der Daten
{
$file = "user/geheime-".$user."-datei"; // File deklaration
if (file_exists($file)) // Abfrage, ob die Datei bzw. der User existiert
{
$data = fopen($file, "r"); //File öffnen
$usertxt = fread($data, filesize($file)); //File lesen
fclose($data); // File schließen
if ($pass == $usertxt) // Passwortabfrage
{
//logged on !
$status = 'logged_on';
$userlog = $user;
$passlog = $pass;
session_register("userlog");
session_register("passlog");
session_register("user");
session_register("pass");
session_register("status");
}
else
{
print "Falsches Passwort";
}
}
else
{
print "User Existiert nicht";
}
}
else
{
// Weder Username noch Passwort ist gegeben
print "None Login";
print "<FORM METHOD=POST ACTION="index.php">";
print "<INPUT TYPE="text" NAME="user" value="user"><br>";
print "<INPUT TYPE="password" NAME="pass" value="pass">";
print "<INPUT TYPE="submit" value="send">";
print "</FORM>";
}
// Eigentliche Seite
if ($status == 'logged_on' && $userlog == $user && $passlog == $pass)
{
print "Mein Memberbereich<br>";
print "<a href="seite2.php">weiter zu Seite 2</a>";
}
?>
-----------------------------------------------------------------
seite2.php:
das selbe wie index.php
-----------------------------------------------------------------
ist das die optimale lösung oder gibts an dem hier noch was auszusetzen ?
Danko
Halle,
ich poste euch jetzt mal meinen lösungsvorschlöag für einen adminberreich:
toll!
was hält mich davon ab im user-Unterordner nach Dateien zu suchen und mir diese anzuschauen(downzuloaden) ?
Mächte für mich nur sinn, wenn "user/" nicht public wär
wozu steht in der seite2.php genau das selbe drin? vor allem session_start() etc..
für die Folgeseiten sollte es ein Include geben, welches die Loginseite aufruft, wenn die Session-Variablen nicht gesetzt sind...
Wird das wieder so ein Test wie neulich??
Tschö, Frank
Halle nochmal !
toll!
ich weiß
was hält mich davon ab im user-Unterordner nach Dateien zu suchen und mir diese anzuschauen(downzuloaden) ?
die index.htm/index.php !
Mächte für mich nur sinn, wenn "user/" nicht public wär
was ist public ?
wozu steht in der seite2.php genau das selbe drin? vor allem session_start() etc..
damit habe ich gerechnet dass die frage kommt ! geht es oder geht es so nicht ? wenn einer die seite2.php als erstes aufruft, soll er doch auch abgefragt werden, oder nicht !
für die Folgeseiten sollte es ein Include geben, welches die Loginseite aufruft, wenn die Session-Variablen nicht gesetzt sind...
wie geht das ?
Wird das wieder so ein Test wie neulich??
nein.
Das inclde macht mich neugierig, erzähl mir mal bitte mehr darüber.
und was ist Public ?
Danko
was hält mich davon ab im user-Unterordner nach Dateien zu suchen und mir diese anzuschauen(downzuloaden) ?
die index.htm/index.php !
naja schon, aber wenn du den direkten pfad zu /user/geheime-datei kennst kommste ja nu trotzdem dran...
Mächte für mich nur sinn, wenn "user/" nicht public wär
was ist public ?
public heißt im allgemeinen "für jeden zugänglich" s.o.
versuchen kannste ja mal auf das user-verzeichnis per ftp auf 700 zu chmodden (also "nicht mehr public" machen, public ist meistens 750 oder für dateien 740)
meistens hast du dann vom web aus keinen zugriff mehr auf /user aber von lokalen skripten schon
wozu steht in der seite2.php genau das selbe drin? vor allem session_start() etc..
damit habe ich gerechnet dass die frage kommt ! geht es oder geht es so nicht ? wenn einer die seite2.php als erstes aufruft, soll er doch auch abgefragt werden, oder nicht !
für die Folgeseiten sollte es ein Include geben, welches die Loginseite aufruft, wenn die Session-Variablen nicht gesetzt sind...
wie geht das ?
du schreibst einfach eine datei mit php-code (mit php-tags, sonst wirds nix) und gibst dann in seite2 ganz oben require_once "datei.php"; ein und schon tut php so als ob der inhalt von datei.php genau da stehen würde wo das require-statement steht
Ok, aber im prinzip geht das jetzt auch so, oder ?
und wegen dem ordner - es kann ja ein ordnername sein zb. sdhakjsdgh den sich keiner ausdenken kann und in den php-quelltext kann ja auch keiner nachschauen.
also !
aber das mit dem include ist ne tolle idee !
Danko
Gugucks Soße,
Ich habe deinen Ablauf nicht so recht durchblickt, aber eine Sache solltest du in jedem Falle noch ändern: Du registrierst das Passwort des Users in der Session, und das ist nicht nur überflüssig, sondern auch ein potentielles Sicherheitsrisiko.
Liebe Grüße, Uschi
Hi,
ist das die optimale lösung
für welche Aufgabenstellung?
oder gibts an dem hier noch was auszusetzen ?
Was hältst Du von null Zeilen Code und Verwendung eines etablierten Authentifizierungsverfahren? Eigenbau ist nur dann anzuraten, wenn wichtige Gründe gegen den Einsatz von Standards sprechen.
Viele Grüße
Michael