flienky Δημοσ. 1 Σεπτεμβρίου 2015 Δημοσ. 1 Σεπτεμβρίου 2015 Οπότε θέλουμε να ελένξουμε εαν το email που χρησιμοποίησε ο χρήστης ανήκει σε αυτόν και δεν είναι spammer ή έστω να ξερουμε οτι μπορούμε να επικοινωνήσουμε μαζι του. Αποθηκεύω στην βαση δεδομένων 2 texts. Το ένα userId και το άλλο email_verification_Id τα οποια ειναι random. Στέλνω mail στον χρήστη και του λεω να κανει κλικ στο mydomain.com/activateAcc.php?userId=xx?email_verification_Id=xx Δηλαδη τα περνάω στο url και τα παίρνω με μορφη GET. Και μετά ελένχω αν υπάρχει χρήστης με το userId και αν υπάρχει να εχει αυτο το email_verification_Id. Αν ναι τοτε αλλαζω την μεταβλητη σε ενα bool activatedAccount απο 0 σε 1. Τα παραπάνω variables δεν χρησιμοποιούνται πουθενά αλλου στην λειτουργεία της ιστοσελίδας. Χρησιμοποιώ άλλο User id. Είναι ασφαλές; Μήπως υπάρχει πιο γρήγορος και πιο ασφαλές τρόπος? Για την ιστορία, πριν του στείλω ενημερωτικά μαιλ ή και μαιλ για security proposes (βεβαια εδω ειναι αναγκαίο να ξερουμε πως το μαιλ ανήκει όντως σε αυτον) ειμαι υποχρεωμένος απο κανέναν νόμο να κάνω το παραπάνω?
defacer Δημοσ. 2 Σεπτεμβρίου 2015 Δημοσ. 2 Σεπτεμβρίου 2015 1. Αν το random δεν είναι σάπιο τότε ναι είναι "ασφαλές". Σε εισαγωγικά γιατί χρειάζεται άπειρη φαντασία για να βρεις σενάριο στο οποίο αν δεν υπήρχε καν αυτό το βήμα θα είχαμε πρόβλημα πουη φύση του είναι ασφαλείας. 2. Δεν χρειάζεται ούτε καν το user id στο URL. Πρώτον, μπορείς να εξηγήσεις από τι ακριβώς σε προστατεύει ή παρουσία του? Δεύτερον, ακόμα κι αν μπορούσες, το user id έχει κάποιο ποσό πληροφορίας μέσα, ας πούμε πχ 32 bits. Θα άλλαζε κάτι αν το αφαιρούσες και έβαζες 32 bits παραπάνω random? (Υπάρχει μια διάφορα, η οποία είναι πως το id επιτρέπει σε 2 διαφορετικά registrations να μοιραστούν το ίδιο random, αλλά αυτό είναι αδιάφορο και τεχνικά πολύ εύκολο να αποφευχθεί ακόμα κι αν οι πιθανότητες να συμβεί δεν ήταν ήδη απειροστά μικρές εξ ορισμού) 3. Να κάνεις συγκεκριμένα το παραπάνω όχι, αλλά ενδεχομένως υπάρχει νόμος (πχ Γερμανία υπάρχει και το ξέρω) που λέει ότι για τάδε τάδε περιπτώσεις πρέπει να έχεις ένα βήμα σαν αυτό στο workflow πριν αποκτήσεις το δικαίωμα να αρχίζεις να στέλνεις επόμενα mail.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα