login script
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
befehl
beitrag
datei
daten
datenbank
ebenfall
einschreiben
falsch echo
guter schutz
kleinschreibung
login
ordner
pawort
richtig echo
speicher
textdatei
user
username
weiteren ordner
wirklicher schutz
-
hi, habe mal ne frage zu meinem login script...
das script funktionier auch 100% nur ich wollt das jetzt so machen das ich die user in einer datenbank (datenbank.txt) speicher und diese dann ueber einen befehl rausgesucht werden ....
nicht so wie mom ... mom ist es ja so das wenn ein neuer user sich anmeldet muss ich die logindo.php datei oeffnen und immer wieder "$user['USERNAME'] = "USERPASSWORD";" eingeben ... aber dieses ist voll nervig. darum mit der db.... da kann ich dann gleich wenn die sich reg. haben einen befehl ueber php schicken der dann das in die db einschreiben tut, nae?
<?php $user['hiho'] = "mail"; $user['lol'] = "rofl"; $weiterleitung = "1"; if(!array_key_exists($_POST['username'], $user) || $_POST['userpw'] != $user[$_POST['username']]) { echo "Username und/oder Password sind/ist Falsch!"; echo "<meta http-equiv='refresh' content='$weiterleitung; URL=$loginfalschseite'>"; } else { echo "Blaaaaa.........<br>"; echo "Daten Richtig!<br>"; echo "Blaaaaa.........<br>"; } ?>
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Du kannst Daten einfach in die DB schreiben und auslesen und somit die zugewisenen Passw?rter auslesen.
zB sieht die Datenbanktabelle f?r die User so aus:
Username|passwort
Beim Anmelden f?gst du die Daten rein und beim Login ?berpr?fst du das Passwort zum Username. Befass dich halt ein bisschen mit MySQL, dann kommste alleine drauf wie man das macht.
/EDIT:
WICHTIG: Verwende nie eine Text-Datei um Passw?rter zu speichern! Dann kann jeder diese Datei ?bers Internet einsehen, besser w?re eien PHP-Datei.
Beitrag ge?ndert am 14.12.2005 17:36 von trueweb -
ich benutze keine mysql da ich hier ja keine mehr habe ... die wurden alle beim system ausfahl geloescht! somit benutze ich es.... und zudem kann man das pw duch md2code verschluesseln lassen ...
-
als ich mit datenbanken noch nicht gearbeitet hab, hab ich auch mal ein textdatei basierendes loginscript programmiert.
Ist sehr kompliziert, selbst ich hab damit noch Probleme, wenn ich mir den Code so angucke aber wenn du willst, kannst du es dir mal angucken:
_______________________________________________
erstelle erstmal nen ordner, nenn ihn loginscript oder wie auch immer. danach erstellst du ne datei die sich reg.php nennt:
<html> <head><title>Dein Titel</title> </head> <body text="#FFFFFF"> <br> <br> <br> <table border="1" align="center" width="50%" hight="50%" cellspacing="0" cellpadding="0" bordercolor="#0000FF" bgcolor="#000000"> <tr><td align="left"> <form action="<? echo"$PHP_SELF";?>" method="post"> Dein Gewünschter Nickname:<br> <input type="text" name="username"><br> Dein gewünschtes Passwort:<br> <input type="password" name="password"><br> <input type="hidden" name="reggen"> <input type="submit" value="Registrieren"> </form> (unbedintgt auf Groß und Kleinschreibung achten, da<br> dass Script das unterscheidet. also alles beim login eingeben, so wie ihr euch hier gereggt habt.<br> Danke) <? if (isset($reggen)) { if (empty($username) OR empty($password)) { echo "Du hast ein Feld ausgelassen bzw. nicht ausgefüllt"; } else { $daten="<?if (\$username==\"$username\" & \$password==\"$password\") { include \"".$username."_key.php\"; echo \"$username, du wurdest erfolgreich eingeloggt. <br><br>Dein Userlevel ist \$id !!!\"; } ?> "; $datenbank="users/users.php"; $datei = fopen($datenbank, "r"); $datei = fopen($datenbank, "a"); $alles=fread($datei, filesize($datenbank)); fwrite($datei, "$daten$alles"); fclose($datei); function MakeFile($username, $input) { if(!file_exists($username)) { $fh = fopen($username, "w+"); fwrite($fh, $input); fclose($fh); } else { die("<br><br><font color=\"#FF0000\">Dieser Benutzername existiert schon</font>"); } } MakeFile("users/".$username."_key.php", "<?\n\$id=\"0\";\n?>"); echo"<br><br><font color=\"#FF0000\">$username, du wurdest erfolgreich Registriert.</font><br> Du kannst dich nun einloggen :D"; } } else{#nothing (Nicko) } ?> </td></tr> </table> </body> </html>
danach erstellst du in dem ordner, wo sich auch die reg.php befindet einen weiteren Ordner der sich users nennt. dort erstellst du einmal die datei index.php:
<html> <head><title>Dein Titel</title> </head> <body leftmargin="20" rightmargin="0" text="#FF0000" bgcolor="#000000" link="#5091AE" alink="#00FFFF" vlink="#5091AE" ndragstart="return false" oncontextmenu="return false"><center><h2><font color="#5091AE">ACCESS DENIED</font></h2></center> </body> </html>
und die datei users.php kommt ebenfalls in den users ordner:
<?if ($username=="" & $password=="") { echo " <form action=\"$PHP_SELF\" method=\"post\"> Name:<br> <input type=\"text\" name=\"username\"><br> Passwort:<br> <input type=\"password\" name=\"password\"><br> <input type=\"hidden\" name=\"login\"><br> <input type=\"submit\" value=\"Einloggen\"> </form> "; ?> <br><br> <a href="../reg.php" target="_top">Registrieren</a> <? } ?>
Wenn du soweit bist, lädst du die dateien hoch und rufst die datei users.php auf, diue sich im users ordner befinden. du kannst nicht direkt in den users ordner gehe, weil dir dann die index.php sagt: ACCESS DENIED oder so. Ist natürlich kein wirklicher schutz und überhaupt ist ein loginscript auf textdatei basierend sehr unsicher.. naja..
jedenfalls rufst du die users.php auf und kannst dich von da aus entweder einloggen oder auf registrieren klicken.
Kurze erklärung zu den dateien:
reg.php
- wenn man sich registriert speichert die datei die login daten in der users/user.php datei ab und erstellt in dem users ordner eine weitere datei, die nach dem nicknamen benannt wird (name.key.php), den man bei der registrierung eingegeben hat. In dieser datei wird auch gleich der standard userlevel eingespeichert (0).
Ich bin nicht weiter gekommen daraus richtig ein rangsystem zu machen aber das ist ja nicht schwer. musst deinem nicknamen einfach nur meinetwegen userlevel 10 geben und dann dazu programmieren, das $id="10" der admin ist und dann mit besonderen funtkionen ausschmücken...
users/users.php
- hier werden nur die logindaten drin gespeichert. Allerdings ohne md5, kannstes aber noch dazu machen. Die Logindaten werden nicht einfach nur so gespeichert sondern sind gleich schon in einer if abfrage integriert.
users/index.php
- sinnloser schutz gegen profis
aber guter schutz gegen noobs ;)
mfg Nicko
PS: Ich hoffe du denkst jetzt nicht "das les ich mir doch nicht durch". Hab mir nähmlich mühe gegeben und das script von vornerein nochmal überarbeitet und nochmal getestet. ^^
Beitrag geändert am 15.12.2005 20:12 von nicko
Beitrag geändert am 15.12.2005 20:27 von nicko
Beitrag zuletzt geändert: 11.10.2013 19:58:27 von hackyourlife -
So ziemlich egal was du verwendest, wenn man gut ist, kann man jedes PW sehen
-
wollte nur helfen ;)
allerdings ist aber so ein textdatei login script noch unsicherer als eins mit ner datenbank.
Deswegen nimm das sicherste auch wenn es noch so unsicher ist *gg*
Ausserdem ist es mit textdateien viel komplizierter, finde ich zumindest.
Gru? nicko -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage