Brauche Hilfe --> PHP-Passwortschutz geht nicht
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
benutzt eingabe
code
datei
eingabe
einschalten
ersten beitrag
falsch mache
fehler
gesetzt haltbarkeit
header
http
karpfen
login
option
setzen
test
url
verwaltung
webseite
weiterleitung
-
Hallo,
ich möchte meine Website per Passwort schützen. Hierzu habe ich folgendes PHP-Skript genutzt. Jedoch funktioniert die Weiterleitung einfach nicht und ich komm nicht darauf, was ich falsch mache. Ich hoffe hier auf Unterstützung.
Die Testseite:
http://www.coolesocke.bplaced.net/test/login.php
Passwort: test
Datei: config.php
In dieser Datei wird das Passwort gespeichert.
<?php // Login - Passwort $Passwort = "test"; ?>
Datei: login.php
Hier wird das Passwort eingegeben und überprüft.
Wenn das Passwort stimmt wird das Cookie gesetzt.
Haltbarkeit des Cookies = 3600 Sekunden
<?php include("config.php"); if ($eingabe == $Passwort) { setcookie ("meinCookie", $eingabe, time()+3600, "/"); // Cookie setzen header ("Location: fehler.php" ); // Weiterleitung } else { ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Login</title> </head> <body> <div align=center> <h2>Login</h2> <?php echo '<form action="' . $_SERVER['PHP_SELF'] . '" method="post" name="Form">'; echo '<input type="password" name="eingabe" size="25"> '; echo '<input type="submit" value="ok"></form>'; echo '<script type="text/javascript">document.Form.eingabe.focus();</script>'; } ?> </div> </body> </html>
Datei: beispielseite.php
Hier wird das Passwort überprüft.
Wenn das Passwort stimmt wird die Webseite angezeigt,
andernfalls wird auf die Datei login.php weitergeleitet.
<?php include("config.php"); if ($meinCookie != $Passwort) { header ("Location: login.php"); // Weiterleitung } ?> <!-- Inhalt der Webseite --> ......
Quelle: http://www.homepage-total.de/php/webseitenschutz.php
Beitrag zuletzt geändert: 13.2.2009 18:08:24 von coolesocke -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Du benutzt $eingabe ohne es vorher zuzuweisen. Das kannst du allerdings nur machen, wenn die Option register_globals eingeschaltet ist.
Daher ist es immer besser $eingabe=$_POST['eingabe']; zu verwedenen, dann sollte esauf jeden Fall funtkionieren. Das gleiche gilt übrigens auch für Cookies, die über $_COOKIE und Sessions, die über $_SESSION angesprochen werden. -
Du musst einfach vor
if ($eingabe == $Passwort)
noch $eingabe=$_POST['eingabe']; einfügen. -
Das hab ich getan, aber es hat sich leider nicht geändert. Die Weiterleitung geht nicht.
Hier kannst du es testen: Passwort: test
http://coolesocke.bplaced.net/test/login.php
So sieht es aus, wie du es mir gesagt hast:
<?php include("config.php"); $eingabe=$_POST['eingabe']; if ($eingabe == $Passwort) { setcookie ("meinCookie", $eingabe, time()+3600, "/"); // Cookie setzen header ("Location: fehler.php" ); // Weiterleitung } else { ?>
Beitrag zuletzt geändert: 13.2.2009 18:08:59 von coolesocke -
Ich würde sagen, es funktioniert schon. Allerdings leitest du auf fehler.php (oder was auch immer) weiter und dort steht dann:
<?php include("config.php"); if ($meinCookie != $Passwort) { header ("Location: login.php"); // Weiterleitung } ?>
Und jetzt liest du nochmal meinen ersten Beitrag und findest heraus, was ich meine -
Also ich hab deinen Beitrag nochmal durchgelesen. Du meinst jetzt sicher die Option "register_globals" einschalten, richtig? Leider weiß ich nicht wie ich das anstellen soll.
Beitrag zuletzt geändert: 13.2.2009 20:21:10 von coolesocke -
coolesocke schrieb:
Also ich hab deinen Beitrag nochmal durchgelesen. Du meinst jetzt sicher die Option "register_globals" einschalten, richtig? Leider weiß ich nicht wie ich das anstellen soll.
Du kannst register_globals nicht einfach anschalten, denn das geht nur in der php.ini - Datei und die kann nur von lima-city geändert werden! -
Das kann hier vom User selbst in der Verwaltung an- oder ausgeschaltet werden
-
karpfen schrieb:
Das kann hier vom User selbst in der Verwaltung an- oder ausgeschaltet werden
Ich hab da nichts gefunden. Wo denn? -
Unter Verwaltung>>>Domains
Dort klickt man die Subdomain an und kommt zu den register_globals -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage