Benutzer im Login

czweifel

Mitglied
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,
Frezl
 
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 ;-)
 
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...
 
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...

Also wenn ich die .htaccess hab, wasmuss ich dann genau in die .txt Datei reinschreiben? Ist es gut wenn ich die .txt einfach per include () in das PHP-File reinschreibe?!

MfG
 
Also wenn ich die .htaccess hab, wasmuss ich dann genau in die .txt Datei reinschreiben? Ist es gut wenn ich die .txt einfach per include () in das PHP-File reinschreibe?!

MfG

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
Wenn du jetzt genau wissen willst, wie du dir ein Login-System bauen kannst, schaust du besser in eins der 1000 Tutorials, die es hier im Internet gibt...
 
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 ;-)


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^^
 
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
Wenn du jetzt genau wissen willst, wie du dir ein Login-System bauen kannst, schaust du besser in eins der 1000 Tutorials, die es hier im Internet gibt...


Ja Danke, aber ich meine im Moment ist der Benutzer so gemacht:
PHP:
      if ($username == 'Testuser' && $passwort == 'Testpasswort') {

schreibe ich das einfach so in die .txt Datei?


MfG
 
Das hier könnte was für dich sein, habs mir aber nicht genauer angeschaut:
http://www.webmaster-talk.com/php-forum/113648-login-script-without-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:
PHP:
<?php
// ## DATEINAME: userdata.php
$users = array();
$users[] = array("name" => "benutzer1", "pass" => "password1");
$users[] = array("name" => "benutzer2", "pass" => "password2");
$users[] = array("name" => "benutzer3", "pass" => "password3");
?>
Diese Datei könntest du per "include(<Dateiname>);" laden, dein Haupt-Login-Script hat das Array $users dann gespeichert.
Jetzt schaust du für jeden Benutzer, ob die eingegebenen Daten mit den Benutzerdaten übereinstimmen:
PHP:
// ## 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!";

Mir fallen jetzt noch 1000 Ideen ein, wie du das alternativ machen könntest, frag einfac, falls du es anders haben willst.
 
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:
Code:
username e8636ea013e682faf61f56ce1cb1ab5c
test 098f6bcd4621d373cade4e832627b4f6
Format: username Passwort-MD5-Hash
Sind zwar nur Standard-MD5s, aber für den Zwecks tut's das auch.

Auslesen der Benutzer und Passworthashes:
PHP:
//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);
}

Nach dem Auslesen sieht das Array dann so aus:
Code:
Array (
	[0] => Array (
		[0] => username
		[1] => e8636ea013e682faf61f56ce1cb1ab5c
	)
	[1] => Array (
		[0] => test
		[1] => 098f6bcd4621d373cade4e832627b4f6
	)
)
Damit lässt sich dann schön arbeiten.
 
Zurück