|
You last visited: Today at 02:11
Advertisement
Login System mit Remember me ohne MYSQL
Discussion on Login System mit Remember me ohne MYSQL within the Web Development forum part of the Coders Den category.
02/23/2019, 14:01
|
#1
|
elite*gold: 0
Join Date: Nov 2010
Posts: 3,206
Received Thanks: 146
|
Login System mit Remember me ohne MYSQL
Hallo, würde gern meiner Webseite eine "Eingeloggt bleiben" Funktion einfügen, leider hab ich da nicht die Erfahrung hab, dies richtig mit MYSQL hin zu bekommen habe ich angedacht, dies ohne versuchen einzufügen.
Meine Login.php sieht wie folgt aus:
PHP Code:
<?php header ("LOCATION: main.html"); session_start(); chmod("user.txt", 0755); $username = $_POST["username"]; $passwort = $_POST["password"]; $passwort = md5($passwort); $log=0; $userdatei = fopen ("user.txt","r"); while (!feof($userdatei)) { $zeile = fgets($userdatei,500); $userdata = explode("|", $zeile); if ($userdata[0]==$username and $passwort==trim($userdata[1])) { $_SESSION['username'] = $username; echo "Login war erfolgreich. <a href=\"index.html\">Wenn keine automatische Weiterleitung erfolgt.</a>"; $log = 1; } } fclose($userdatei); if ($log==0) { echo "Zugriff verweigert <a href=\"index.html\">Zurück</a>"; } ?>
Ich weiß, eine TXT-Datei ist nicht die sicherste Methode aber es läuft so oder so nur 1-4 Accounts drüber.
in der index.html steht dann nur :
HTML Code:
.....
<header id="header">
<br>
<div class="logo">
<span class="icon fa-calculator"></span>
</div>
<div class="content">
<div class="inner">
<center>
<h1>Login</h1>
<br>
Authentifizierung erforderlich!<br>
<br>
<form action="Login.php" method="post">
Account: <br>
<input type="text" size="24" maxlength="50"
name="username"><br><br>
Passwort:<br>
<input type="password" size="24" maxlength="50"
name="password"><br>
<div class="field half">
<input type="checkbox" id="rem" name="rem">
<label for="rem">Eingeloggt bleiben?</label>
</div><br>
<input type="submit" value="Anmelden"></center> </div>
</div>
<nav>
<ul>
</ul>
</nav>
</header>
.....
Würde mich freuen, wenn jemand da eine schnelle Lösung hat, dachte an Cookies aber finde immer nur was mit MYSQL, müsste dann wieder alles umschmeißen, das wollt ich nicht unbedingt.
|
|
|
02/23/2019, 16:38
|
#2
|
elite*gold: 400
Join Date: Nov 2008
Posts: 67,905
Received Thanks: 19,505
|
Was für ne uralte Anleitung hast du dafür ausgegraben?
1. Wenn du schon flat files benutzt für die Login Daten, auf KEINEN Fall eine Dateiendung geben welche ein Browser verarbeiten kann und schon gar keine *.txt Dateiendung
Wenn dann nenn die Datei user.php, dann denkt der Webserver es wäre PHP Code und gibt die Datei nicht öffentlich Preis, dein Script kann sie aber trotzdem genauso lesen ohne Einschränkungen
Alternativ natürlich einfach die Datei irgendwohin schieben wo der Webserver sie nicht verarbeiten kann
weitere Alternative wäre eine sqlite Datenbank in Dateiformat
2. MD5 hahses sind brutal veraltet, unsicher und jeder der sie für Login Authentication nutzt ist ein Idiot, Ende
eine einfache Alternative ist  was genauso komfortabel aber ein Millionen mal sicherer macht
3. Für dein eigentliches Problem ...
es gibt einen Grund warum man für sowas oft eine Datenbank einsetzt, dann kann man einen Logintoken oder ähnliches als Cookie hinterlegen anstatt auf unsichere Weise das Passwort als Cookie zu speichern
für deine Zwecke würde es wahrscheinlich am meisten Sinn machen das hashed password + username als  und später abzugleichen
das ist zwar nicht der sicherste Weg, aber wohl das was du erreichen wolltest
|
|
|
02/23/2019, 18:27
|
#3
|
elite*gold: 100
Join Date: Apr 2008
Posts: 860
Received Thanks: 1,487
|
Quote:
Originally Posted by Der-Eddy
es gibt einen Grund warum man für sowas oft eine Datenbank einsetzt, dann kann man einen Logintoken oder ähnliches als Cookie hinterlegen anstatt auf unsichere Weise das Passwort als Cookie zu speichern
für deine Zwecke würde es wahrscheinlich am meisten Sinn machen das hashed password + username als  und später abzugleichen
das ist zwar nicht der sicherste Weg, aber wohl das was du erreichen wolltest
|
Was spricht denn dagegen, das ganze in der Session zu speichern? Die Sessionvariable kann der User nicht einsehen oder verändern. Einfach den Usernamen und einen Zeitstempel über die letzte Aktivität (und den Loginzeitpunkt) in die Session abspeichern. Dann kann man zum einen sicher sein, dass sich der User schonmal angemeldet hat, und über den Zeitstempel kann man kontrollieren, dass eine Session nicht älter als Zeitraum X ist.
|
|
|
02/23/2019, 20:13
|
#4
|
elite*gold: 0
Join Date: Nov 2010
Posts: 3,206
Received Thanks: 146
|
@  ob jemand den acc sieht oder nicht, spielt zzt. Keine Rolle, da es erstmal nur intern genutzt werden soll, somit nur 4-5 Personen ein Account haben bzw evtl. Alles über ein Acc läuft, deswegen wollte ich es erstmal so ohne eine DB laufen lassen, habe zwar eine DB aber da ich damit auch nicht so ein Experte bin, schaue ich, dass ich es erstmal anders zum laufen krieg.
Dennoch werde ich dein Feedback noch in die Tat umsetzen, bin so oder so ganze Zeit am umschreiben was umgeschrieben werden kann
|
|
|
02/24/2019, 01:45
|
#5
|
elite*gold: 0
Join Date: Apr 2011
Posts: 11,115
Received Thanks: 2,436
|
General Coding -> Web Development
#moved
|
|
|
02/25/2019, 12:00
|
#6
|
elite*gold: 95
Join Date: Nov 2009
Posts: 669
Received Thanks: 47
|
Quote:
Originally Posted by florian0
Was spricht denn dagegen, das ganze in der Session zu speichern? Die Sessionvariable kann der User nicht einsehen oder verändern. Einfach den Usernamen und einen Zeitstempel über die letzte Aktivität (und den Loginzeitpunkt) in die Session abspeichern. Dann kann man zum einen sicher sein, dass sich der User schonmal angemeldet hat, und über den Zeitstempel kann man kontrollieren, dass eine Session nicht älter als Zeitraum X ist.
|
Weil die Session zerstört wird, wenn der Browser geschlossen wird = man wird automatisch ausgeloggt.
Tatsächlich würde ich es ohne DB eben auch rein per Cookies machen.
Schau mal hier:
|
|
|
02/25/2019, 15:04
|
#7
|
elite*gold: 100
Join Date: Apr 2008
Posts: 860
Received Thanks: 1,487
|
Quote:
Originally Posted by Legithos
Weil die Session zerstört wird, wenn der Browser geschlossen wird = man wird automatisch ausgeloggt.
|
Aber dafür gibts ja session_set_cookie_params. Da kann man den Session-Cookie bearbeiten so wie jeden anderen Cookie.
|
|
|
02/25/2019, 22:28
|
#8
|
dotCom
elite*gold: 9842
Join Date: Mar 2009
Posts: 16,854
Received Thanks: 4,680
|
Dann nimm  anstatt Session
|
|
|
 |
Similar Threads
|
Mysql funktioniert nicht.. service mysql status mysql does not exist in /etc/rc.d
07/09/2015 - Metin2 Private Server - 8 Replies
Hey,
mein Mysql Server funktíoniert von jetzt auf gleich nicht mehr..
Kam aus dem Freibad und alles war down..
Wenn ich den Mysql Server starten will sagt er mir:
" service mysql status
mysql does not exist in /etc/rc.d or the local startup
directories (/usr/local/etc/rc.d) "
Und wenn ich meinen Metin Server starte "cant connect to 127.0.0.1" weil der Mysql Server down ist..
|
[MYSQL dont Start]su: unknown login: mysql
05/08/2011 - Metin2 Private Server - 2 Replies
Moin Leute und zwar hab ich ein Problem das ich bis heute noch nie hatte,
Ich hab mein Root Server neu gestartet und dabei bemerkt das der Mysql Server nicht wieder mit hoch gefahren ist.....
Dann hab ich versucht per: ihn wieder zu starten aber es gibt mir nur das hier aus:
Die Frage ist jetzt an was liegt das?
Danke schonmal.
|
Login without MC - Login ohne "MC" - Login Sem MC
01/08/2011 - Metin2 Private Server - 6 Replies
Deutsch
------------------------------------------------- ---------------------
Hallo, ich habe einen Server Metin2. Metin2classic.com habe ich versucht, Kunden ohne MC bieten, aber nie nach rechts.:
Das Problem ist:
-Der Spieler kann auf Ihr Konto zugreifen, immer der Charakter-Auswahl
So wählt er einen Charakter, kehrt er an den Anfang
------------------------------------------------- ---------------------
English
------------------------------------------------- ---------------------...
|
Login without MC - Login ohne "MC" - Login Sem MC
01/08/2011 - Metin2 Private Server - 0 Replies
Deutsch
------------------------------------------------- ---------------------
Hallo, ich habe einen Server Metin2. Metin2classic.com habe ich versucht, Kunden ohne MC bieten, aber nie nach rechts.:
Das Problem ist:
-Der Spieler kann auf Ihr Konto zugreifen, immer der Charakter-Auswahl
So wählt er einen Charakter, kehrt er an den Anfang
------------------------------------------------- ---------------------
English
------------------------------------------------- ---------------------...
|
All times are GMT +1. The time now is 02:11.
|
|