Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

PHP - SESSION - mehrfachlogin - unterbinden - Optimierung?

Mitglied: Midivirus

Midivirus (Level 2) - Jetzt verbinden

17.11.2011, aktualisiert 09:55 Uhr, 6754 Aufrufe, 6 Kommentare

Guten Morgen zusammen,

ich denke, das Szenario dürfte jedem bekannt sein, mittels Google hab ich dann auch gleich zwei Artikel gefunden:
Access 2010 Wie verhindern, daß ein User eine geteilte DB mehrfach öffnen kann?
Mehrfachanmeldung eines Benutzer auf W2kServer unterbinden??

In einem Webprojekt soll jedes Konto nur einer Person zugeordnet sein und wenn jemand Zugriff haben möchte,
dieser ein eigenständiges beantragen.

Habe gedanklich und im Testmodus folgendes realisiert:

DB Tabelle "online"
darüber wird der sog. online-counter gesteuert

Folgendes wird nach dem Programmablaufplan gemacht:

Account hat eine Sitzung offen
eine weitere Sitzung wird auf den Account geöffnet
alle anderen Sitzungen als die eigene wird in einem Feld ein Zeichen geschrieben

Bei jedem Seitenaufruf wird dieses Kontrollfeld ausgelesen und wenn das Zeichen gefunden wird,
gibt es sofort einen Sicherheitslogout!

Kurz heißt es:
immer die letzt eingeloggte Sitzung gewinnt, alle anderen fliegen immer wieder raus.

Jetzt ist nur die Frage, ob in der online-Tabelle es sinnvoll ist oder eher die user-Tabelle verwendet werden soll.
Letzteres klappt dann nicht, wenn die zuletzt eingeloggte Sitzung bestehen bleibt, da alle Sitzungen den gleichen Datensatz verwenden!

In diesem Sinne,
vielen Dank!

Midi

Hier noch ein Thread, der im Schlusszitat genau behandelt, was ich verhindern möchte:
mehrfachlogin gleichzeitig aus verschiedenen pcs verhindern - wie ?
Der "Missbrauch" passiert aber nur bei Usern, die sich in dem selben Account einloggen (weil z.B drei Leute das Login und PW von Account A kennen). Die reslichen Accounts C, D, E etc. bleiben davon unberührt.
Mitglied: ITSchlumpf
17.11.2011 um 10:02 Uhr
Morgen Midivirus,

weiß nicht genau ob das für dich zutreffend wäre, aber kannst du nicht einfach beim login in deine DB ein Flag setzen von wegen user ist angemeldet. Wenn sich jetzt ein anderer User mit den gleichen Daten anmelden will, kommt eine Fehlermeldung das der User schon angemeldet ist.
Sobald sich der User wieder ausloggt wird das Flag gelöscht/überschrieben und man kann sich wieder anmelden.
Wäre das eine Option?

Gruß
Schlumpf
Bitte warten ..
Mitglied: Midivirus
17.11.2011 um 10:19 Uhr
Moin ITSchlumpf,
die Option ist gut, dann käme der Fall timeout nach oben!

Dies empfinde ich derzeit nicht sonderlich attraktiv!

In dem Accout wird ebenfalls schon auf Logout vergessen geprüft und beim nächsten Login dargestellt.

Aber der Gedanke ist gut.

Midi
Bitte warten ..
Mitglied: ITSchlumpf
17.11.2011 um 10:24 Uhr
Wie machst du das mit dem Timeout und Logout vergessen?

Probiere gerade ein paar sachen mit PHP und habe mir ein kleines login script geschrieben und da würde sowas auch noch gut reinpassen

Gruß
Schlumpf
Bitte warten ..
Mitglied: Midivirus
17.11.2011 um 10:31 Uhr
nun,
easy going halt:
gibt das feld "logout" und dieses wird bei login auf 1 gesetzt und beim logout auf 0!
Wenn bei login hier 1, dann Meldung!

besser?

@Timeout:
du musst hier immer ein Referenzzeitpunkt haben.
Heißt, bei jedem Seitenwechsel [siehe auch diese ganzen onlinecounter], muss ein Feld immer den Zeitpunkt des Aufrufes haben.
Bei deinem obigen Versuch, wird gecheckt, ob das Feld jetzt älter als x Sekunden ist!

So funktionieren onlinecounter ... !

Aber dies kann via PN weiter exorziert werden!
Bitte warten ..
Mitglied: dog
17.11.2011 um 16:10 Uhr
Du solltest auch noch AJAX dazu nehmen, dass immer mal wieder mitteilt, wenn ein User eingeloggt ist und bei einem Fehler ihn sofort ausloggt.

Eine Tabelle würde dann so aussehen:
01.
- user_id 
02.
- lastactivity_time 
03.
- session_id 
04.
- active
Wenn sich der User einloggt wird für ihn ein Eintrag mit active=1 angelegt und für alle anderen Einträge mit der selben user_id active=0 gesetzt.
Bei jedem Seitenaufruf wird dann geprüft ob die session_id noch active ist und ggf. der User ausgeloggt.

Alternativ ginge auch die Holzhammer-Methode: PHP speichert ja alle Sessions in einem bestimmten Ordner als sess_SESSIONID.
Man könnte also aus der DB alle Session IDs rausziehen und die Dateien auf der Festplatte löschen, damit wäre der User automatisch ausgeloggt (allerdings sollte man dann im $_SESSION-Array ein Flag zur Kontrolle haben).
Bitte warten ..
Mitglied: Midivirus
18.11.2011 um 09:21 Uhr
Merci für deinen Gedanken.

Ich wollte nur wenig mit JS basteln, da ich mich in dem Bereich so gut wie überhaupt nicht bewegen kann, mangels Kenntnisse!

Hab derzeit so eine schöne Tabelle:

01.
  id 
02.
  session 
03.
  ts 
04.
  user_id 
05.
  aktiv 
06.
  ip 
07.
  verlassen
Man könnte natürlich AJAX einbauen, der Aufwand übersteigt mein erwartetes Ergebnis.

Derzeit wird folgendes gemacht:
Wenn eine neue Sitzung auf den Account geöfnet wird,
bekommt das Feld verlassen den gleichen Wert wie ts und alle anderen Sitzungen werden bei dem nächsten Seitenwechsel gekickt!

ob ich aus dem tmp auch noch die Dateien kicke, käme dann im nächsten Schritt (...)



Ansonsten fahre ich wohl ganz gut, bis jetzt!

Midi
Bitte warten ..
Ähnliche Inhalte
Visual Studio
Code-Optimierung
gelöst Frage von MarcoBornVisual Studio11 Kommentare

Hallo Forum, ich habe zur Zeit etliche Stellen in meinem Code, wo ich eine Variable mit etlichen Strings vergleichen ...

PHP

Php session nach n Minuten beenden ohne cronjobs ?

Frage von djevil-adPHP11 Kommentare

Hallo, hallo, Ich bin gerade dabei meinen Warenkorb zu entwickeln, und ich finde keine Lösung, wie ich den Warenkorb ...

Backup

ACRONIS Backup - WAN - Optimierung

Frage von ping13Backup1 Kommentar

Hallo Miteinander, hat jemand Erfahrungen / Wissen zu dem Einsatz von ACRONIS- Backup über (schmalbandige, unsymmetrische) Internetverbindungen? Verfügt das ...

Hyper-V

Optimierung der Ressourcennutzung unter Hyper-V

gelöst Frage von mcGeorgeHyper-V1 Kommentar

Hallo all, ich suche Antworten/Erfahrungen zu dem o.g. Thema, da ich dort noch nicht die notwendigen Erfahrungen habe. Wir ...

Neue Wissensbeiträge
Sonstige Systeme
Es war einmal ein BeOS - Wer erinnert sich noch?
Information von BassFishFox vor 1 TagSonstige Systeme5 Kommentare

Hallo, Bin gerade ueber Haiku gestolpert, von dessen Existenz als "Nachfolger des BeOS" ich wusste nur mich nie wirklich ...

Datenschutz

Microsoft und DSGVO - ob das wohl jemals klappt (Probleme beim Datenabfluss für Office Pro Plus)?

Tipp von VGem-e vor 1 TagDatenschutz3 Kommentare

Servus Kollegen, siehe Aber wer setzt schon MS Office Pro Plus ein? Wie dann der Stand beim "normalen" MS ...

Windows 10

Macht Windows 10.1809 Probleme mit gemappten Netzlaufwerken (betrifft wohl insbes. AMD-Hardware und Trend Micro AV-Produkte)?

Tipp von VGem-e vor 2 TagenWindows 103 Kommentare

Moin Kollegen, grad dazu gefunden und Hatten wir dies nicht bei früheren W10-Upgrades ebenfalls? Da bleibt nur, das Upgrade ...

Humor (lol)

Das neue Miniatur Wunderland OFFICIAL VIDEO - worlds largest model railway - railroad

Information von StefanKittel vor 2 TagenHumor (lol)2 Kommentare

Hallo, wer noch nie im Miniatur Wunderland war, sollte es dringend mal nachholen. Es gibt eine neues Video. Viele ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
Gäste-WLAN durch DD-WRT AP nach einem MikroTik Routerboard
Frage von NukolarLAN, WAN, Wireless16 Kommentare

Hallo, wie der Titel schon sagt möchte ich gerne ein Gäste-WLAN innerhalb eines bestehenden LANs einrichten. Dass die Gäste ...

DSL, VDSL
DSL Monitoring Tool - Quick and dirty?
Frage von george44DSL, VDSL15 Kommentare

Liebe Gemeinde, ich suche ein einfaches und vor allem schnell zu installierendes Monitoring-Tool zur kontinuierlichen Dokumentation (nur) der Internetanbindung. ...

Exchange Server
Outlook findet Postfach nicht
Frage von MaximaxExchange Server11 Kommentare

Hallo, und zwar haben wir auf der Arbeit ein kleines (großes) Exchange 2016 Problem. Exchange meldete gestern, dass die ...

Informationsdienste
Probleme auf dem Server
Frage von LangeLangeInformationsdienste9 Kommentare

Hallo zusammen, ich betreibe die Seite Keine Werbelinks. In der Analyse stellen wir fest, dass die Ladezeit in der ...