Elxis CMS Forum

Ελληνικό Forum => Διαχείριση => Topic started by: fivar on October 08, 2009, 14:52:00

Title: Μοναδικό login για κάθε χρήστη
Post by: fivar on October 08, 2009, 14:52:00
Καλησπέρα σε όλους

Υπάρχει τρόπος ώστε ένας χρήστης να μην μπορεί να κάνει login (με το ίδιο username & password) από 2 ή περισσότερους Η/Υ ?

Ευχαριστώ
Title: Re: Μοναδικό login για κάθε χρήστη
Post by: babis1 on October 08, 2009, 15:42:15
εννοεις ο χρηστης να ειναι συνδεδεμενος και να παει σε ενα αλλο pc και να ξανασυνδεθει? η να αποσυνδεθει και να μην μπορει να συνδεθει απο αλλο pc? γιατι το δευτερο μαλλον ειναι ακατορθωτο εκτος αν εχεις σταθερη ip και να γινει αλλαγη στο ελξις κλπ κλπ
Title: Re: Μοναδικό login για κάθε χρήστη
Post by: fivar on October 08, 2009, 16:10:01
Εννοώ το πρώτο.
Οταν είναι συνδεδεμένος, να μην μπορεί ο ίδιος ή κάποιος άλλος (με τα ίδια στοιχεία) να συνδεθεί
Title: Re: Μοναδικό login για κάθε χρήστη
Post by: babis1 on October 08, 2009, 16:35:29
εγω βασικα δεν πιστευω οτι χρειαζετε κατι τετοιο γιατι η μοναδικη περιπτωση να μπορει να συνδεθει αλλος χρηστης ειναι να γνωριζει τον κωδικο, οποτε εκει αλλαζεις κωδικο, τι ακριβως θες να κανεις γιατι η μονη περιπτωση ειναι να μην θες να μπαινει καποιος σαν 2ος super administrator
Title: Re: Μοναδικό login για κάθε χρήστη
Post by: fivar on October 08, 2009, 16:48:33
πουλάω τον κωδικό σε ένα χρήστη. Αυτο που θέλω να αποφύγω είναι να δώσει τον κωδικό σε άλλους εκατό.
Title: Re: Μοναδικό login για κάθε χρήστη
Post by: babis1 on October 08, 2009, 16:55:37
αυτο δεν μπορεις να το αποφυγεις και αναλογα τι κανει ο χρηστης αυτος μεσα στο site, αν δινεις καποιο κωδικο για να κατεβαζουν αρχεια νομιζω το ios download υποστηριζει τετοια δυνατοτητα, αλλα αν πχ εχεις εναν οδηγο αγορας και πουλας κωδικο για να καταχωρηθει καποιος, με τον ιδιο κωδικο θα μπορει να μπει και καποιος αλλος να κανει καταχωρηση, αρα εκει πρεπει ο καθε χρηστης να μπορει να κανει μια μονο καταχωρηση, παιζει ρολο τι ακριβως κανει ο καθε χρηστης στην σελιδα για να μπορεσης να κανεις και την αναλογη εφαρμογη
Title: Re: Μοναδικό login για κάθε χρήστη
Post by: fivar on October 08, 2009, 17:59:02
δεν θα κατεβάζει αρχεία ούτε θα κάνει καταχωρήσεις απλώς θα βλέπει κάποια μαθήματα σε video
Title: Re: Μοναδικό login για κάθε χρήστη
Post by: babis1 on October 08, 2009, 18:06:24
εκει δεν νομιζω να καλυπτεσε με αυτο τον τροπο  η θα πας σε online shop πουλωντας αυλα προιοντα με αποτελεσμα να κατεβαζει ο χρηστης το αναλογο βιντεο αρχειο που θελει πχ αν εσυ του παιρνεις 10 για να βλεπει ολα τα βιντεο, παρτου 0,2 για καθε ενα αρχειο βιντεο, η πρεπει με καποιον τροπο να μπορει να δει μονο μια φορα το καθε βιντεο δηλ κλειδωμενο αντικειμενο περιεχομενου το οποιο ο καθε εγγεγραμενος χρηστης να μπορει να το δει μονο μια φορα, νομιζω θελει customia. Δυστυχως ακομα και σε μεγαλα sites δεν αποφευγεις ορισμενα πραγματα πχ υπαρχει ενα site το οποιο εχει ολες τις επιχειρησεις, τους ισολογισμους τους, διευθυνσεις τηλεφωνα emails και τους υπευθυνους, σε αυτο το site για να αποκτησης αυτο το δικαιωμα δινεις 450 ευρω τον χρονο, ερχετε μια γνωστη μου που εχει γραφτει, μου δινει τους κωδικους της και ναμαι μεσα στο site !!!
Title: Re: Μοναδικό login για κάθε χρήστη
Post by: babis1 on October 08, 2009, 18:13:54
περιμενε ο ελληνας οδυσσεας κατι σκεφτηκε........
σε καθε εναν χρηστη δινεις διαφορετικο κωδικο, κανε μια λιστα και καθε εβδομαδα αλλαζε τους τους κωδικους και στελνε τους με email ακομα και να τους δινουν αλλου καποια στιγμη θα βαρεθουν !!! αλλιως θες ενα συστημα οπως εχουν οι τραπεζες που καθε συγκεκριμενη χρονικη περιοδο σου λεει να αλλαξης τον κωδικο σου με εναν νεο αρα αυτον που θα το δωση δεν τον συμφερει γιατι αν τυχει και πεσει η ληξη της περιοδου στο login καποιου ποθ εχει δωσει τον κωδικο αυτος δεν θα μπορει να μπει γιατι απλα δεν θα ξερει τι κωδικο εβαλε ο φιλος του !!!
Title: Re: Μοναδικό login για κάθε χρήστη
Post by: fivar on October 08, 2009, 18:51:11
ευχαριστώ πολύ για την προσπάθεια σου να βοηθήσεις.
Αυτό που θέλω να κάνω είναι να πουλήσω ένα κωδικό σε ένα σχολείο με 20 μαθητές για ένα χρόνο,
στο διάστημα αυτό μπορούν να βλέπουν τα πάντα όσες φορές θέλουν,
εκείνο που δεν θέλω να κάνουν είναι να μπούν και οι 20 ταυτόχρονα και επίσης δεν θέλω ο σχολάρχης να δώσει τον κωδικό σε άλλα 10 ή 20 σχολεία.
Title: Re: Μοναδικό login για κάθε χρήστη
Post by: datahell on October 08, 2009, 19:18:18
Δεν μπορείς να ξέρεις ποιος είναι πίσω από την οθόνη την ώρα που πληκτρολογεί τον κωδικό εισόδου. Αυτό που μπορείς να κάνεις είναι να μην επιτρέψεις την ΤΑΥΤΟΧΡΟΝΗ είσοδο 2 ή περισσοτέρων χρηστών με ίδιο username/password. Για να το κάνεις αυτό απαιτείται μία επέμβαση στο component login. Συγκεκριμένα θα πρέπει να ελέγξειος αν στον πίνακα session έχει ήδη συνδεθεί κάποιος και ο χρόνος από το τελευταίο του Κλικ είναι μικρότερος από το χρόνο ζωής του session (συνήθως 15 ή 20 λεπτά). Φυσικά θα μπορεί να μπει ο οποιοσδήποτε αν ξέρει το Username/password απλά δεν θα μπορούν να μπουν δύο ταυτόχρονα.
Title: Re: Μοναδικό login για κάθε χρήστη
Post by: fivar on September 09, 2010, 18:38:31
Συγνώμη που ανοίγω ένα παλιό topic αλλά τώρα το χρειάζομαι.

Θέλω να κάνω αυτό που περιγράφει ο datahell
Κάθε βοήθεια δεκτή

Quote
Posted by: datahell 
Δεν μπορείς να ξέρεις ποιος είναι πίσω από την οθόνη την ώρα που πληκτρολογεί τον κωδικό εισόδου. Αυτό που μπορείς να κάνεις είναι να μην επιτρέψεις την ΤΑΥΤΟΧΡΟΝΗ είσοδο 2 ή περισσοτέρων χρηστών με ίδιο username/password. Για να το κάνεις αυτό απαιτείται μία επέμβαση στο component login. Συγκεκριμένα θα πρέπει να ελέγξειος αν στον πίνακα session έχει ήδη συνδεθεί κάποιος και ο χρόνος από το τελευταίο του Κλικ είναι μικρότερος από το χρόνο ζωής του session (συνήθως 15 ή 20 λεπτά). Φυσικά θα μπορεί να μπει ο οποιοσδήποτε αν ξέρει το Username/password απλά δεν θα μπορούν να μπουν δύο ταυτόχρονα.
Title: Re: Μοναδικό login για κάθε χρήστη
Post by: datahell on September 09, 2010, 19:12:35
Και γιατί να μην φτιάξεις ξεχωριστούς λογαριασμούς για κάθε χρήστη και θες να μπαίνουν όλοι με τον ίδιο λογαριασμό (ένας-ένας τη φορά);
Title: Re: Μοναδικό login για κάθε χρήστη
Post by: fivar on September 09, 2010, 19:25:24
Δεν θέλω να μπαίνουν με τον ίδιο κωδίκο
Αυτό που θα κάνω είναι να πουλήσω 100 κώδικους σε 100 άτομα.
Δεν θέλω αν αυτά τα άτομα δώσουν τον κωδικό τους σε φίλους να μην μπορούν ταυτόχρονα να κάνουν login.

Title: Re: Μοναδικό login για κάθε χρήστη
Post by: datahell on September 09, 2010, 20:56:11
ΟΚ, τώρα κατανοώ απόλυτα γιατί χρειάζεσε κάτι τέτοιο.
Η μέθοδος που θα γράψω εξασφαλίζει ότι δεν θα μπουν με το ίδιο Username 2 ή περισσότεροι ταυτόχρονα με διαφορετικές IP.
Αν έχουν την ίδια IP (πχ μπαίνουν από το σπίτι με 2ο PC ή από ένα internet καφέ) τότε θα μπορέσουν να μπουν. Αν θες να κόψεις και αυτό τότε θα χρειαστεί να κάνεις μεγαλύτερες επεμβάσεις.

Απαγόρευση ταυτόχρονης σύνδεσης 2 ατόμων με το ίδιο Username και διαφορετικές ip
Όταν πάει να συνδεθεί κάποιος θα πρέπει να κάνεις ένα query στον πίνακα elx_session και να ελέγξεις αν έχει συνδεθεί ήδη κάποιος αλλά με διαφορετική ip διεύθυνση (πεδίο βάσης δεδομένων πίνακα elx_session: ip). Αν ναι, τότε απαγορεύεις την σύνδεση στον δεύτερο χρήστη.

Code: [Select]
$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 {
     //η σύνδεση επιτρέπεται
}

Απαγόρευση ταυτόχρονης σύνδεσης 2 ατόμων με το ίδιο Username και ίδες ή διαφορετικές ip
Αν οι χρήστες μπαίνουν με την ίδια ip τότε η παραπάνω μέθοδος δεν θα δουλέψει. Θα πρέπει με κάποιο τρόπο να μπορέσεις να διακρίνεις τους διαφορετικούς χρήστες ακόμα και αν έχουν την ίδια ip. Ένα τρόπος να το κάνεις είναι κοιτώντας τις πληροφορίες του browser. Στο τέλος θα φτιάξεις ένα md5 hash μοναδικό για κάθε διακριτό επισκέπτη, Ωστόσο θα πρέπει κατά την σύνδεση του χρήστη να αποθηκεύεις κάπου αυτά τα hashes (στον πίνακα elx_session είναι καλά αλλά θέλει να χρειαστεί να τον πειράξεις λίγο για να φτιάξεις μία νέα στήλη) ώστε να μπορείς στη συνέχεια να κάνεις την σύγκριση.
Title: Re: Μοναδικό login για κάθε χρήστη
Post by: fivar on September 10, 2010, 14:21:57
Ευχαριστώ πολύ datahell
Η πρώτη περίπτωση μου κάνει.
Τώρα, αν κατάλαβα καλά, τον κώδικα αυτόν τον γράφω στο login.php του component, το ζήτημα είναι (καθ' ότι άσχετος) που τον γράφω και τον γράφω όπως το έχεις βάλει εσύ:

Αν μπορείς να βοηθήσεις λίγο ακόμα θα σου είμαι υπόχρεος
Title: Re: Μοναδικό login για κάθε χρήστη
Post by: fivar on September 11, 2010, 12:56:47
Ακυρο :(
Για να γίνει αυτό πρέπει οι χρήστες να έχουν μοναδικά usernames, αλλιώς θα κόβει διαφορετικό χρήστη με το ίδιο username.

Ευχαριστώ πάντως
Title: Re: Μοναδικό login για κάθε χρήστη
Post by: fivar on September 11, 2010, 13:06:30
Και πάλι εδώ.
Δεν ξέρω μήπως μπορεί να γίνει κάτι με το userid (που φαντάζομαι είναι μοναδικό για κάθε χρήστη)