php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 17-09-2007, 14:13
tetra
 Newbie
Links : Onlinestatus : tetra ist offline
Registriert seit: Aug 2007
Beiträge: 24
tetra ist zur Zeit noch ein unbeschriebenes Blatt
Standard login mit cookies

Hallo,

Ich habe ein problem oder eine "denkblockade" und zwar habe ich ein problem mit den cookies...

Wenn sich ein benutzer anmeldet dann werden 2 cookies gesetzt:

PHP-Code:
$qry mysql_query("SELECT cookie_time_auto, cookie_time_session FROM shop_settings");
$res_site mysql_fetch_assoc($qry);
[...]
$plus $res_site["cookie_time_session"];
$time time()+$plus;
$hash md5(gen_pw());
setcookie("user"$res_user["id"], $time);
setcookie("session"$hash$time); 
...und es wird der generierte hashwert beim user eingetragen. Soweit alles okay... nur wenn jetzt die Cookies ablaufen,dann werden sie automatisch geloescht und ich kann nichts mehr updaten d.h der user hat noch den hashwert drin (es ist zwar "noch" nicht schlimm aber waer doch besser wenn der hashwert entfernt wird)

check_cookie function
PHP-Code:
function check_cookie() {
  if (isset(
$_COOKIE["user"])){
    
$user $_COOKIE["user"];
    
$hash $_COOKIE["session"];
    
db_connect();
    
$qry mysql_query("SELECT * FROM shop_user WHERE id = '".$user."' AND session = '".$hash."'");
    if (
mysql_num_rows($qry) == 1) {
      
$res mysql_fetch_assoc($qry);
      return 
true;
    } else {
      return 
false;
    }
  }

Vielleicht gibt es eine bessere loesung fuer cookies aber das ist jetzt meine waer auch fuer eine andere variante offen!

Ich moechte das der user sich anmeldet und nicht bei jeden neuen seitenaufruf sich erneut einloggen muss, wenn cookies dann ablaufen soll er sich neu einloggen. Funktioniert auch nur weiss ich nicht wie ich jetzt die datenbank updaten soll :S

mfg tetRa`
Mit Zitat antworten
  #2 (permalink)  
Alt 17-09-2007, 14:31
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

wieso bleibt der hashwert gespeichert, obwohl das cookie gelöscht wird? Ich denke der Hash wird IM Cookie gespeichert?

Aso, die DB willst du updaten. Na, das geht nicht (automatisch) schließlich läuft das cookie ab, wenn der user offline ist.

Aber du kannst nen Timestamp o.ä. speichern mit dem Ablaufzeitpunkt des Cookies. Dann brauchst du nur regelmäßig zu prüfen, ob der zeitpunkt verstrichen ist und kannst den hash so löschen.

Halte ich aber insgesammt für überflüssig. Aber darum geht's ja nicht.
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #3 (permalink)  
Alt 17-09-2007, 14:51
tetra
 Newbie
Links : Onlinestatus : tetra ist offline
Registriert seit: Aug 2007
Beiträge: 24
tetra ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Mhh, koennte das so machen das die Cookies fuer immer gueltig sind aber der gueltigkeitswert in der datenbank gespeichert wird.

Wenn dann das aktuelle datum groesser als der gespeicherte ist, dann soll er den hashwert aus der datenbank loeschen und die cookies...

Zitat:
Original geschrieben von TobiaZ
Halte ich aber insgesammt für überflüssig. Aber darum geht's ja nicht. [/B]
Magst mir den satz etwas erlaeutern?

Wie sollte ich das denn loesen, dass der user angemeldet bleibt? koennte auch passwort im cookie speichern aber das "reduziert" widerum die "sicherheit" :S

Geändert von tetra (17-09-2007 um 14:57 Uhr)
Mit Zitat antworten
  #4 (permalink)  
Alt 17-09-2007, 15:07
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Mhh, koennte das so machen das die Cookies fuer immer gueltig sind aber der gueltigkeitswert in der datenbank gespeichert wird.
Wenn es um die Gültigkeit eines Accunts geht, solltest du das mit sicherheit tun. Wenn es aber um die Gültigkeit des Cookies geht, dann sollte diese auch "im" Cookie stehen.

Zitat:
Magst mir den satz etwas erlaeutern?
Ich sehe einfach keinen grund, warum du den Hash löschen willst. Hast du Speicherplatzmangel? Sicher nicht.

Zitat:
Wie sollte ich das denn loesen, dass der user angemeldet bleibt? koennte auch passwort im cookie speichern aber das "reduziert" widerum die "sicherheit" :S
Zum Thema Autologin gibt es diverse Themen. Dein Ansatz ist ja auch gut und richtig. Da liegt ja auch gar nicht dein Problem, oder?

BTW: Passwörter sollten NIEMALS (weder im Cookie noch in der Datenbank) im Klartext gespeichert werden. Nie!
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #5 (permalink)  
Alt 17-09-2007, 16:50
tetra
 Newbie
Links : Onlinestatus : tetra ist offline
Registriert seit: Aug 2007
Beiträge: 24
tetra ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von TobiaZ
Zum Thema Autologin gibt es diverse Themen. Dein Ansatz ist ja auch gut und richtig. Da liegt ja auch gar nicht dein Problem, oder?
Ne Login funzt wunderbar auch in kombination mit dem cookie nur sehe ich den hashwert in der datenbank irgendwie als sicherheits"loch"

Wenn der user sich selbst auslogged dann ist alles kla aber wenn cookie ablaeuft dann fehlt theoretisch nur die userid um sich einzuloggen...
Mit Zitat antworten
  #6 (permalink)  
Alt 18-09-2007, 13:01
sysop123
 Registrierter Benutzer
Links : Onlinestatus : sysop123 ist offline
Registriert seit: Aug 2006
Beiträge: 77
sysop123 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von tetra
...aber wenn cookie ablaeuft dann fehlt theoretisch nur die userid um sich einzuloggen...
was aber eigentlich ducrh deine abfrage:
Code:
WHERE id = '".$user."' AND  session = '".$hash."'"
verhindert werden sollte, es muss ja beides vorhanden sein.
du setzt in beiden cookies die selbe lebensdauer, ist eines abgelaufen sollte auch das andere abgelaufen sein und deine bedingung, zum auslesen der datenbank, nicht mehr erfüllt sein.

wenn du dem code so nicht zu 100% traust, prüfe doch ab, ob es ein usercookie gibt, wenn ja, muss ja auch ein hash cookie da sein. ist das nicht der fall, eintrag aus der tabelle löschen und neues login.
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

ADSMAN V3 - Werbe-Manager ansehen ADSMAN V3 - Werbe-Manager

ADSMAN V3 - mehr als nur ein Bannermanager! Banner, Textanzeigen und PagePeel Manager! Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebi

25.10.2018 virtualsystem | Kategorie: PHP/ Bannerverwaltung
PHP News und Artikel Script V2

News schreiben, verwalten, veröffentlichen. Dies ist jetzt mit dem neuen PHP News & Artikel System von virtualsystem.de noch einfacher. Die integrierte Multi-User-Funktion und der WYSIWYG-Editor (MS-Office ähnliche Bedienung) ermöglichen...

25.10.2018 virtualsystem | Kategorie: PHP/ News
Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 17:38 Uhr.