Posted by: datahell Δεν μπορείς να ξέρεις ποιος είναι πίσω από την οθόνη την ώρα που πληκτρολογεί τον κωδικό εισόδου. Αυτό που μπορείς να κάνεις είναι να μην επιτρέψεις την ΤΑΥΤΟΧΡΟΝΗ είσοδο 2 ή περισσοτέρων χρηστών με ίδιο username/password. Για να το κάνεις αυτό απαιτείται μία επέμβαση στο component login. Συγκεκριμένα θα πρέπει να ελέγξειος αν στον πίνακα session έχει ήδη συνδεθεί κάποιος και ο χρόνος από το τελευταίο του Κλικ είναι μικρότερος από το χρόνο ζωής του session (συνήθως 15 ή 20 λεπτά). Φυσικά θα μπορεί να μπει ο οποιοσδήποτε αν ξέρει το Username/password απλά δεν θα μπορούν να μπουν δύο ταυτόχρονα.
$uname = $mainframe->makesafe(mosGetParam($_POST, 'username', ''));$ip = $_SERVER['REMOTE_ADDR'];$ts = time() - $mainframe->getCfg('lifetime');$database->setQuery("SELECT COUNT(*) FROM #__session WHERE username='".$uname."' AND time > '".$ts."' AND ip != '".$ip."'");$c = (int)$database->loadResult();if ($c > 0) { //μην επιτρέπεις την σύνδεση} else { //η σύνδεση επιτρέπεται}