Passwort & geschützter Bereich (txt files)

Nucleus

Erfahrenes Mitglied
Er prüft zuerst ob der name und das passwort stimmt - dann wenn ich auf submit klicke will ich auf ne andere seite gelangen adminbereich.php - mein problem: das ich den adminbereich auch gesichert brauch , sodass die seite nicht im exploerer aufgerufen und somit das passwort umgehen werden kann.
Kann mir jemand helfen ?

So schaut die txt datei aus:
user1,passwort1
user2,passwort2

Hier die admin.php datei
PHP:
<?php
$logok = False;
if (isset($_login) and isset ($_pass))
{
$fp = fopen("passwort.txt","r");
while ($line = fgets($fp))
{
$arr = explode(",", $line);
if (($arr[0] == $_login) AND ($arr[1] == $_pass))
{
$logok = True;
break;
		}
	}
}
if (!$logok):

?>
Bitte geben Sie Namen und Kennwort ein:
<FORM ACTION="adminbereich.php" METHOD="post">
<INPUT TYPE="text" NAME="_login">
<INPUT TYPE="password" NAME="_pass">
<input type ="submit" name="submit" value="Anmelden">
</FORM>
<?php
endif;
?>
Hier die adminbereich.php datei
PHP:
<FORM ACTION="abfrage.php" METHOD="post">
<INPUT TYPE="text" NAME="_login">
<INPUT TYPE="password" NAME="_pass">
</FORM>
<?php

if ($arr[0]=="$_login" and $arr[1]=="$_pass") {
     echo "hier steht dann der inhalt Seite";
}
else {
     echo "falscher Username oder falsches Passwort";
}


?>
 
Entweder mit Cookies oder mit Sessions arbeiten. Oder das Verzeichnis per Webserver sichern lassen.

Du kannst natürlich auch deinen User und dein Pass per URL übergeben, aber dann kannst du Zugangsdaten gleich auf der Startseite veröffentlichen.

Machs per Session:


PHP:
// session.php

@session_name("sid");
@session_start();

$s_user = $arr[0];
$s_pass = $arr[1];
@session_register("s_user", "s_pass");

<a href="session2.php?<?php echo session_name() ?>=<?php echo session_id() ?>">Weiter</a>

Damit setzt du die Session und weisst die zwei Werte zu. Wenn du Dateien links must du immer die Session ID mit geben.

Auf den Folgeseiten sieht das dann ungefähr so aus:

PHP:
// Folgeseiten

@session_name("sid");
@session_start();

if (session_is_registered("s_user")) {
	// Hier deine Seite
        // Am besten per Include immer aufrufen!
}
else {
  // Fehlermeldung oder Weiterleitung
}

Gruß
Fatility
 
he cool danke dir hast ma echt geholfen gg - sorry das ich so spät zurückschreibe bin nämlich gerade vom bh gekommen gg is voll org - nochmals danke !
 
Sry, dass ich das Thema wieder Auffrische, aber vll kann mir ja jemand Antworten.

Ist das normal dass dann oben "http://localhost/mcnews/phplogin/start.php?<?php echo session_name() ?>=<?php echo session_id() ?>" steht

LG
Maurice
 
Nee, das ist es sicherlich nicht. Wie wäre es, wenn du den echo-Bereich vor dem Link eröffnest? Sollte besser aussehen...
 
Zurück