ERLEDIGT
NEIN
NEIN
ANTWORTEN
18
18
ZUGRIFFE
856
856
EMPFEHLEN
-
Hey leute
Ich hab einen Login-Bereich auf meiner Homepage. Es funktioniert mit den Dateinen login.php, auth.php, logout.php und index.php. So, um auf den index zu kommen muss man sich bei login anmelden. und in der datei login.php ist ein benutzer und ein Passwort eingebaut. Mein Problem ist dass es eben nur einen Benutzer hat. Ich bräuchte eben so gegen die 10 Benutzer.
Es ist doch möglich eine .txt Datei einzubauen oder eine Datenbank zu erstellen, so wäre das Problem doch gelöst?!
Aber ich hab keine Ahnung wie man so ne .txt Datei erstellt mit den verschiedenen Benutzern und Passwörtern. Geschweige den eine Datenbank.
Ich fände es nicht schlecht wenn du Benutzer Ihren Namen, Wohnort und noch z. B. noch Hobby oder allgemein wenn sie noch was über sich schreiben können.
Ich bitte um Rat.
MfG
-
Hey czweifel!
Eine txt-Datei wäre die schlechteste Lösung, da sie nicht verschlüsselt ist. Wenn also jemand den Link zu der Datei kennt, kann er sämtliche Benutzerdaten auslesen.
Besser wäre also eine Datenbank. Da ist das gängigste System mySQL, was auch von den meisten Web-Hostern angeboten wird.
Für den Anfang wird dir da vielleicht der Wikipedia-Eintrag zum Thema und die Weblinks dazu weiterhelfen: http://de.wikipedia.org/wiki/Mysql
Außerdem ist Google dein Freund! Z.B. mit diesem Suchergebnis: http://www.webmasterpro.de/old/content/7358/
Viel Spaß bei der Arbeit!
Grüße,
FrezlWenn du das Gefühl hast "Cool, der Kerl konnte mir echt helfen!", dann teil es mir mit, indem du mich entsprechend bewertest!
-
Hallo czweifel,
da es sich offensichtlich um eine private Homepage handelt, wäre eine Datenbank mit allen Nutzern und weiteren Details das einfachste. Dann kannst du später auch noch welche hinzufügen, oder wenns nötig wird auch löschen.
Die beste Möglichkeit, dies umzusetzen, bieten PHP und MySQL. Ich leg Anfängern gerne das PHP-Tutorial vom Quakenet ans Herz. Es ist recht einfach gehalten und du lernst die grundlegenden Techniken (Datenbankaufbau, Kommunikation mit der Datenbank), um das was du möchtes umsetzen zu können (der Punkt '40. Loginskript' dürfte wohl am interessantesten für dich sein).
Dass das natürlich nichts ist, was man von heut' auf morgen lernen kann, düfte klar sein. Aber wir alle haben mal ganz klein angefangen...
Gruß DaveStan
P.S.: einen verheißungsvollen Nickname hast du da
-
15.07.09 11:06 #4
Falls du dich doch für eine TXT-Datei anstatt einer (MySQL-)Datenbank entscheidest, kannst du die schon absichern, damit nicht jeder, der die URL zu der Datei kennt, alle Benutzer auslesen kann.
Dazu musst du in dem Ordner, in dem die TXT-Datei drin liegt, eine andere Datei namens ".htaccess" erstellen (richtig, die hat keinen Dateinamen, sondern nur einen Punkt und die Endung). Einfach mit dem Notepad öffnen und "deny from all" reinkopieren, abspeicher und hochladen. Das bewirkt, dass Niemand aus dem Internet irgendwas in dem Verzeichnis lesen kann, daher sollten da keine anderen Dateien drin sein, auf die man evtl. zugreifen muss.
Falls du nur die TXT-Datei und nciht das gesamte Verzeichnis sichern willst, google einfach mal nach "htaccess", da findest du genug...Website: http://www.multimolti.com/
-
-
15.07.09 15:37 #6
Mach das z.B. so:
- login.txt-Datei in den Ordner "/logindata"
- .htaccess-Datei in den Ordner "/logindata"
- .htaccess-Datei öffnen und "deny from all" reinschreiben
- in deinem Grundordner (also NICHT in "/logindata") die Datei "login.php" erstellen
- "login.php" öffnen, da dann die "login.txt"-Datei includen und die Daten verarbeiten
Website: http://www.multimolti.com/
-
Danke!
Ich werde es vorübergehend mit der .txt Datei tun bis ich mit dem MySQL umgehen kann. Denn die Informationen die ich dort publiziere sind für einen Hacker total unwichtig. (denke ich mal)
Das Tutorial ist wirklich gut, aber ein paar Sachen waren / sind für mich Wiederholungen darum hab ich ein Paar übersprungen.
MfG
P.S.: dein ist nicht viel weniger verheissungsvoll
-
-
15.07.09 16:02 #9
Das hier könnte was für dich sein, habs mir aber nicht genauer angeschaut:
http://www.webmaster-talk.com/php-fo...out-mysql.html
Du kannst dir das Leben auch viel einfacher machen, und anstatt einer TXT-Datei eine PHP-Datei schreiben, in der nur die Daten für alle User drinstehen, dann brauchst du nicht mal die .htaccess-Datei.
Die PHP-Datei sähe dann so aus:
Diese Datei könntest du per "include(<Dateiname>);" laden, dein Haupt-Login-Script hat das Array $users dann gespeichert.PHP-Code:<?php
// ## DATEINAME: userdata.php
$users = array();
$users[] = array("name" => "benutzer1", "pass" => "password1");
$users[] = array("name" => "benutzer2", "pass" => "password2");
$users[] = array("name" => "benutzer3", "pass" => "password3");
?>
Jetzt schaust du für jeden Benutzer, ob die eingegebenen Daten mit den Benutzerdaten übereinstimmen:
Mir fallen jetzt noch 1000 Ideen ein, wie du das alternativ machen könntest, frag einfac, falls du es anders haben willst.PHP-Code:// ## DATEINAME: login.php
// irgendwie Eingabedaten verarbeiten und in $username und $password speichern
include("userdata.php");
$loggedin = false;
foreach($users as $user)
{
if($user['name'] == $username && $user['pass'] == $password)
{
$loggedin = true;
break;
}
}
if($loggedin)
echo "Eingeloggt!";
else
echo "Benutzername oder Passwort falsch!";
Website: http://www.multimolti.com/
-
multimoltis Methode hat den Vorteil, dass kein Dritter die Logininformationen lesen kann. Wenn du's trotzdem mit ner Textdatei umsetzen möchtest, wär hier ne einfache Möglichkeit.
Aubau der Textdatei:
Format: username Passwort-MD5-HashCode :1 2
username e8636ea013e682faf61f56ce1cb1ab5c test 098f6bcd4621d373cade4e832627b4f6
Sind zwar nur Standard-MD5s, aber für den Zwecks tut's das auch.
Auslesen der Benutzer und Passworthashes:
Nach dem Auslesen sieht das Array dann so aus:PHP-Code://Textdatei auslesen
$handle = @fopen('text.txt', "r");
if($handle) {
while(!feof($handle)) {
//Einzelne Zeilen auslesen
$lines[] = fgets($handle, 4096);
}
fclose($handle);
}
//Array, mit dem gearbeitet wird
$benutzer = array();
//Ausgelesene Zeilen zerlegen
for($i=0; $i<count($lines); $i++) {
$temp = explode(" ",$lines[$i]);
array_push($benutzer, $temp);
}
Damit lässt sich dann schön arbeiten.Code :1 2 3 4 5 6 7 8 9 10
Array ( [0] => Array ( [0] => username [1] => e8636ea013e682faf61f56ce1cb1ab5c ) [1] => Array ( [0] => test [1] => 098f6bcd4621d373cade4e832627b4f6 ) )
-
-
15.07.09 16:53 #12
Die zweite Methode wollte ich dir eigentlich vorschlagen, dann ist mir das mit dem PHP-Array eingefallen...
Wenn du bei meiner Methode auch anstatt Klartext-Passwörtern MD5-Hashes verwendest und bei DaveStans Methode die .htaccess einsetzt, ist beides gleichsicher. Falls dein Server kein htaccess unterstützen sollte, nimm meine Methode, denn bei der wird niemand jemals an die Daten innerhalb der PHP-Datei rankommen.
Und schwer/kompliziert sind beide Methoden nicht, lies dir am besten mal ein Anfängertutorial für PHP durch, dann verstehst du das ganz schnell!Website: http://www.multimolti.com/
-
hab grad ein bischen Choas

hab jetzt die datei included dein anderen Teil noch dazu getan, aber irgendwie hat es noch einen Fehler, weil noch ein Teil des alten Teil
s drin ist schau doch kurz selbst:
Im html Teil ist noch das Eintrageformular:PHP-Code:<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
session_start();
$username = $_POST['username'];
$passwort = $_POST['passwort'];
$hostname = $_SERVER['HTTP_HOST'];
$path = dirname($_SERVER['PHP_SELF']);
// Benutzername und Passwort werden überprüft
include("userdata.php");
$loggedin = false;
foreach($users as $user)
{
if($user['name'] == $username && $user['pass'] == $password)
{
$loggedin = true;
break;
}
}
if($loggedin)
echo "Eingeloggt!";
else
echo "Benutzername oder Passwort falsch!";
// Weiterleitung zur geschützten Startseite
if ($_SERVER['SERVER_PROTOCOL'] == 'HTTP/1.1') {
if (php_sapi_name() == 'cgi') {
header('Status: 303 See Other');
}
else {
header('HTTP/1.1 303 See Other');
}
}
header('Location: http://'.$hostname.($path == '/' ? '' : $path).'/index.php');
exit;
}
?>
ich denke dass stimmt schon. Aber du kannst mir bestimmt sagen.HTML-Code:<form action="login.php" method="post"> <p>Username: </p> <p> <input name="username" type="text" value="" size="20px" /> </p> <p>Passwort:</p> <p><input name="passwort" type="password" size="20px" /> <p><input type="submit" value="Anmelden" /> </p> </form>
-
15.07.09 17:22 #14
Du musst das ein bisschen umändern:
Obwohl ich nicht verstehe, was der ganze Quatsch mit den Headern soll...PHP-Code:<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
session_start();
$username = $_POST['username'];
$passwort = $_POST['passwort'];
$hostname = $_SERVER['HTTP_HOST'];
$path = dirname($_SERVER['PHP_SELF']);
// Benutzername und Passwort werden überprüft
include("userdata.php");
$loggedin = false;
foreach($users as $user)
{
if($user['name'] == $username && $user['pass'] == $password)
{
$loggedin = true;
break;
}
}
if($loggedin)
{
// Weiterleitung zur geschützten Startseite
if ($_SERVER['SERVER_PROTOCOL'] == 'HTTP/1.1')
{
if (php_sapi_name() == 'cgi')
{
header('Status: 303 See Other');
}
else
{
header('HTTP/1.1 303 See Other');
}
}
header('Location: http://'.$hostname.($path == '/' ? '' : $path).'/index.php');
exit;
}
else
{
echo "Eingeloggt, aber Server unterstützt kein HTTP/1.1!";
}
}
else
echo "Benutzername oder Passwort falsch!";
?>Website: http://www.multimolti.com/
-
Ähnliche Themen
-
Login und anschließende Daten für den Benutzer
Von bonke-online im Forum ASPAntworten: 4Letzter Beitrag: 01.11.05, 20:07 -
Benutzer/Login Frage/Denkanstoss
Von morgenstern im Forum PHPAntworten: 9Letzter Beitrag: 07.07.04, 14:26 -
MYSQL / PHP Login / Benutzer anlegen
Von Shooter2k im Forum PHPAntworten: 3Letzter Beitrag: 24.03.03, 23:39 -
Benutzer Login
Von Freude im Forum PHPAntworten: 1Letzter Beitrag: 16.07.02, 11:59 -
benutzer login
Von wo0zy im Forum PHPAntworten: 4Letzter Beitrag: 07.09.01, 22:02





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren