slevinkelevra Δημοσ. 11 Σεπτεμβρίου 2015 Δημοσ. 11 Σεπτεμβρίου 2015 Καλησπερα Λοιπον φτιαχνω ενα συστημα log-in που οι χρηστες που εχουν ηδη λογαρισμο πατανε ενα κουμπι και δημιουργειται ενα τυχαιο string. Αυτο το string μπορουν να το στειλουν σε καποιον που δεν εχει λογαριασμο και να το χρησιμοποιησει για να κανει sign - in. Στο sign-in ο νεος χρηστης θα βαλει username, password οτι θελει αυτος και το string που του εστειλαν. Ψαχνω μια function στη javascript που να μπορει να δημιουργησει ενα τυχαιο string και οταν της το ξαναδωσεις πισω να μπορει να αναγνωρισει οτι το εφτιαξε αυτη και να το δεχεται, αλλιως να το απορριπτει -πεταει λαθος. Οποτε, οταν ενας νεος χρηστης παει και δωσει ενα valid string θα μπορει οντως να κανει sign-in ενω αμα δεν ειναι valid, η function θα πεταει λαθος και τελικα το συστημα θα του πεταει μήνυμα "Ασε ρε ψηλε που θα πας να μας κοροιδεψεις". Ξερουμε καμια σχετικη μεθοδολογια για τετοιο σεναριο και σχετικη function γιατι εμενα δε παει καν το μυαλο μου? Ευχαριστω ρε σεις
lion2486 Δημοσ. 11 Σεπτεμβρίου 2015 Δημοσ. 11 Σεπτεμβρίου 2015 Δεν θα σε ασφάλιζε αυτό καθόλου σε επίπεδο server-side. Την Javascript μπορεί κάποιος να την προσπεράσει και απλά να μην την εκτελέσει.. Μήπως να έκανε αίτημα για ένα string από τον server καλύτερα;; Δεν ξέρω τι θες να φτιάξεις και γιατί να υπάρχει αυτό το string, δεν μπορώ να σου προτείνω κάτι έτσι..
slevinkelevra Δημοσ. 11 Σεπτεμβρίου 2015 Μέλος Δημοσ. 11 Σεπτεμβρίου 2015 Ειναι μια κλειστη ομαδα back-end χρηστων. Δε μπορει ο καθενας να κανει sign up. Ειμαστε εγω κ συ ηδη χρηστες και θελουμε να βαλουμε αλλους 2 στην ομαδα, θα τους στειλουμε αυτο το string για να κανουν το πρωτο sign up και μετα αυτοι βαζουν οτι username, password κτλ θελουν αυτοι. Το string ειναι σαν εισητηριο για την πρωτη φορα που θα μπουν , σα πασο ξερω γω. Μετα τη πρωτη φορα δεν εχει αξια, εφτιαξαν password. Νταξει , θα μπορουσε να ειναι και απο server side. Εχεις δικιο. Κοιτα, επειδη λεω javascript δε σημαινει οτι θα φτιαχνω κατι στον browser. Λεω javascript επειδη θα χρησιμοποιησω node.js/express.js οποτε λογικα οτι ειναι να γραφτει, θα ειναι σε javascript
lion2486 Δημοσ. 11 Σεπτεμβρίου 2015 Δημοσ. 11 Σεπτεμβρίου 2015 A μάλιστα, δεν το είχα σκεφτεί έτσι. Η καλύτερη πρακτική από την άποψή μου θα ήταν να φτιάχνει ο χρήστης ένα Invite και να στέλνεται με email. (όπως κάνουν και άλλες σελίδες με προσκλήσεις) Μετά αυτό το url έχει ένα hash στο τέλος που θα έχει μια ημερομηνία λήξης (1-3 μέρες ακούγεται καλά). Αυτό το hash μπορεί να είναι το αποτέλεσμα κάποιας συνάρτησης όπως sha1, md5 κάποιου δικού σου κλειδιού, μπορείς να βάλεις ένα κρυφό prefix, το όνομα του χρήστη που το στέλνει και το timestamp του συστήματος. Πιστεύω κάτι τέτοιο, και χωρίς να ξέρει τον prefix σου κάποιος άλλος και ούτε τον τρόπο που το παράγεις μου φαίνεται σχεδόν αδύνατο να το παραβιάσει (μπορείς να προσθέσεις και μια rand() ).
slevinkelevra Δημοσ. 11 Σεπτεμβρίου 2015 Μέλος Δημοσ. 11 Σεπτεμβρίου 2015 Ωπα. Ολα αυτα τα strings, invates οπως θες πες τα, θα πρεπει να μπαινουν σε ενα ρημαδι πινακα στη database σωστα? Αφου ειναι state-less η javascript. Btw "there is an API for that" Site: αποτι φαινεται
mad-proffessor Δημοσ. 12 Σεπτεμβρίου 2015 Δημοσ. 12 Σεπτεμβρίου 2015 Xωρίς να έχω διαβάσει τα post μετα το πρώτο: Υπάρχουν διάφορες js libraries που έχουν hashers,crypters etc. Η πιο διαδεδομένη είναι η CryptoJs απο τη google, αλλά υπάρχει επίσης και η jibberishAES που κάνει aes-cbc-256 encryption. Τουλάχιστον αυτές έχω χρησιμοποιησει εγω. Μπορούν και server side να κάνουν decrypt/encrypt κτλ
lion2486 Δημοσ. 12 Σεπτεμβρίου 2015 Δημοσ. 12 Σεπτεμβρίου 2015 Ωπα. Ολα αυτα τα strings, invates οπως θες πες τα, θα πρεπει να μπαινουν σε ενα ρημαδι πινακα στη database σωστα? Αφου ειναι state-less η javascript. Btw "there is an API for that" Site: αποτι φαινεται ναι σε έναν πίνακα θα αποθηκεύονται και θα παραμένουν εκεί για περιορισμένο χρόνο. Μπορείς να το κάνεις και με αρχεία αμα θέλεις..
alou Δημοσ. 12 Σεπτεμβρίου 2015 Δημοσ. 12 Σεπτεμβρίου 2015 Δεν κατάλαβα ακριβώς τι θες να κάνεις αλλά αυτό http://jwt.io/δες το.
slevinkelevra Δημοσ. 12 Σεπτεμβρίου 2015 Μέλος Δημοσ. 12 Σεπτεμβρίου 2015 φιλε alou σορρυ αλλα δε καταλαβαινω τι κανει το μασινι. @Lion Εννοεις να αποθηκευονται τα invates σε αρχειο? Νομιζω πιο ασφαλη θα ειναι σε ενα πινακα στη ΒΔ, αν κ με τη δομη που εχει τωρα η ΒΔ μου θα ειναι απλα ενας ξεκαρφτος πινακας χωρις συνδεση με τους αλλους.
lion2486 Δημοσ. 12 Σεπτεμβρίου 2015 Δημοσ. 12 Σεπτεμβρίου 2015 φιλε alou σορρυ αλλα δε καταλαβαινω τι κανει το μασινι. @Lion Εννοεις να αποθηκευονται τα invates σε αρχειο? Νομιζω πιο ασφαλη θα ειναι σε ενα πινακα στη ΒΔ, αν κ με τη δομη που εχει τωρα η ΒΔ μου θα ειναι απλα ενας ξεκαρφτος πινακας χωρις συνδεση με τους αλλους. μπορεί να μην είχες βάση και θα μπορύσες να έχεις σε ένα file-structure αυτά τα invites.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα