Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : Passwortgeschützter Bereich & noch ne andere Frage



Armitage2k
22.04.2006, 11:00
hallo alle zusammen.
fangen wir mal mit der leichten frage an:
ich möchte für meine site einen passwortgeschützten bereich aufbauen, der absolut minimalst sein muss. soll heissen: ich will nur einen PHP code wo nach einem passwort gefragt wird (kein benutzername!) und es soll kein login mit sessions oder ähnliches sein.
es sollte aber möglichst kein script sein, wo man nur auf "abbrechen" drücken muss und man ist trotzdem auf der site ;)

dann hätte ich noch ein anliegen:
ich brauch ein formular wo jemand der diesen abgesperrten bereich betreten hat, seine persönlichen daten (name,adresse,telefon,etc.) eintragen kann und diese dann in einer textdatei am server gespeichert (kein mysql) und gelesen werden können. der hintergrund dazu ist dass zB eine maturaklasse dort alle ihre daten hinterlassen und aktualisieren können, um ein klassentreffen zu erleichtern.

sollte jemand rat wissen, sofort posten!

thx,
[JLA]

Antares
22.04.2006, 14:44
<?php
$pw = $_POST['pw'];
if($pw == "passwort")
{
echo "Dein HTML Code";
}
else
{
echo "<br><br><div align=\"center\"><b>Falsches Passwort !</b></div>";
}
?>


Ich hätte eine recht simple Version, aber ich weiß nicht, ob sie so gut ist.
Jedenfalls musst du dazu ein Formular erstellen, das "pw" sendet.
Ansonsten kannst du den Code deiner HTML Datei dann einfach in das Echo reinsetzen.
Der Nachteil hierbei ist, dass du natürlich sehr viel escapen musst.

Milchbox
22.04.2006, 15:25
Der Nachteil hierbei ist, dass du natürlich sehr viel escapen musst.

Warum das? Oo
Ersetze einfach



echo "Dein HTML Code";


mit



echo <<<Bla
Der Normale HTML Code
Bla;

Lucleonhart
22.04.2006, 15:56
Wäre es eigentlich "unsicher" so zu verfahren:

<?php
$pw = $_POST['pw'];
if($pw == "passwort")
{
?>
norm HTML Code
<?php
}else{
echo("Error");
}
?>

Antares
22.04.2006, 18:01
Wäre es eigentlich "unsicher" so zu verfahren:

<?php
$pw = $_POST['pw'];
if($pw == "passwort")
{
?>
norm HTML Code
<?php
}else{
echo("Error");
}
?>

Eigentlich nicht.
Das ist im Prinzip dasselbe, wie meine Version, nur, dass der PHP Code eben unterbrochen wird, aber am Prinzip ändert das ja auch nichts.

Milchbox
22.04.2006, 18:12
Es ist aber besser eine if-clause komplett in php zu schreiben ;)
Entweder ganz oder garnicht :P

Rolus
22.04.2006, 19:11
Ich würde das eher so machen:

<?php
if(!isset($_POST["pwd"]) || $_POST["pwd"] != "password")
{
echo "Access denied.\n";
exit();
}
?>
<i>Hier steht dann der HTML-Code.</i>

So findet erst die Passwortüberprüfung statt und wenn das Passwort nicht korrekt war und/oder nicht ubermittelt wurde, wird das Skript direkt beendet. Sonst wird halt der HTML-Code angezeigt.

freundliche Grüße, Rolus