• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Andere Seiten schützen

Status
Für weitere Antworten geschlossen.
T

Tobias

Guest
Hallo,
ich habe hier nun ein Passwortschutz:

PHP:
<?PHP 
session_start(); 
 
$passwort = "gemuese";  // Hier bitte gewuenschtes Passwort eintragen 
 
if (isset($_POST['go'])){ 
 
    $check = $_POST["password"];  
 
    if ($check == "$passwort"){ 
        $_SESSION["access"] = "okay";  
    }else{ 
        echo "Falsches Passwort ..."; 
    } 
} 
?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
 
<title>Passwortschutz mit PHP</title> 
 
</head> 
 
<body> 
<?php  
 
if ($_SESSION["access"] == "okay") {  
 
// Geschuetzter Bereich ... 
?> 
 
<!-- Hier muss das hin was geschuetzt werden soll! --> 
 
Heute hier und Morgen dort, blablabla ... 
Ich bin ein passwortgeschuetzter Text und du nicht!  
 
<!-- Hier endet der geschuetzte Bereich! --> 
 
<? }else{ // close geschuetzter Bereich  
?> 
<!--- Loginformular beginn --> 
<form method="POST" action=""> 
<fieldset> 
<legend>Bitte Passwort eingeben ...</legend> 
<input type="password" name="password" size="16" /> 
<input type="submit" value="Login" name="go"/> 
</fieldset> 
</form> 
<!-- Loginformular ende --> 
<?php } // close Loginform 
?> 
</body> 
</html>

Wenn ich nun noch andere Datein (z.b. Admin_2.php etc.) schützen bzw. in das Pw-Schutz Verfahren einbinden will, wie mache ich das ?

Einfach in jede Datei

if ($_SESSION["access"] == "okay") {

schreiben ?
 
Ich habs jetzt nicht sonderlich groß überflogen, um evtl. andere Fehler zu finden, aber ja, grundlegend sollte das reichen.
 
Also wenn ich das richtig verstehe müsste eine zweite passwortgeschützte Seite so aussehen:

PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
 
<title>Passwortschutz mit PHP</title> 
 
</head> 
 
<body> 
<?php  
 
if ($_SESSION["access"] == "okay") {  
 
// Geschuetzter Bereich ... 
?> 
 
<!-- Hier muss das hin was geschuetzt werden soll! --> 
 
Halllo HHallooo Halloooo 
 DAS IST DIE ZWEITE geschütze Seite ......... 
 
<!-- Hier endet der geschuetzte Bereich! --> 
 
<? }else{ // close geschuetzter Bereich  
?> 
<!--- Loginformular beginn --> 
<form method="POST" action=""> 
<fieldset> 
<legend>Bitte Passwort eingeben ...</legend> 
<input type="password" name="password" size="16" /> 
<input type="submit" value="Login" name="go"/> 
</fieldset> 
</form> 
<!-- Loginformular ende --> 
<?php } // close Loginform 
?> 
</body> 
</html>
 
includen brauchst du nur wenn du php-code in eine externe datei auslagern willst.
 
Muss ich auch nichts includen ?
Die PW-Einstellungen oder so?
Eigendlich nicht, da ja die
PHP:
if ($check == "$passwort"){ 
        $_SESSION["access"] = "okay";
nur okay ist wenn das pw übereinstimmt, und dann wird ja die Session von Seite zu seite weitergegeben und wenn du am anfang ja prüfst mit
PHP:
if (isset($_SESSION["access"]) {
   //code
 }
else {
//code
}
kann ja nur der if teil kommen wenn access einen wert hat, und dafür brauchst du ja ke pw einstellungen.
 
Zuletzt bearbeitet:
sowas ist schlecht :)

ich tendiere dafür benutzername und hash des passwortes in der session zu speichern und bei jedem seitenaufruf neu zu checken ....
 
warum steht eigentlich hier
PHP:
if ($check == "$passwort"){
$passwort unter anführungszeichen ?
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben