Αυτός ο ιστότοπος μεταφράζεται αυτόματα σε πολλές γλώσσες με λογισμικό που ανέπτυξε ο Kohei Koyanagi. Για μεγαλύτερη ακρίβεια, ανατρέξτε στο πρωτότυπο στα αγγλικά .

Η έκδοση Splync v1.1 κυκλοφόρησε με επαλήθευση email

Από το Splync v1.0 στο Splync v1.1

Όταν εγγράφεστε στο Splync, σας ζητείται να εισαγάγετε το email σας και τον κωδικό πρόσβασης. Όπως ανέφερα σε προηγούμενα άρθρα, το Splync v1.0 ήδη περιλάμβανε βασικά μέτρα ασφαλείας. Η μεταφορά των δεδομένων σας προστατευόταν από HTTPS. O διακομιστής μας ήταν ασφαλισμένος με SSH, έτσι ώστε κανείς εκτός από τον προγραμματιστή να μην έχει πρόσβαση. Ο κωδικός πρόσβασής σας δεν αποθηκευόταν σε απλό κείμενο αλλά κρυπτογραφούνταν στη βάση δεδομένων για να μην μπορεί να αποκρυπτογραφηθεί. Ωστόσο, το μυστικό του v1.0 ήταν ότι δεν υπήρχε επαλήθευση email στη διαδικασία δημιουργίας λογαριασμού. Το Splync, ως MVP (Minimum Viable Product), κυκλοφόρησε χωρίς αυτή τη δυνατότητα επειδή η εφαρμογή βρισκόταν ακόμη σε στάδιο όπου μόνο οι φίλοι μου γνώριζαν για την ύπαρξή της. Στο v1.0, η εφαρμογή απλώς έλεγχε αν το εισαγόμενο email περιείχε ένα "@" μεταξύ γραμμάτων και αν ήταν μοναδικό μεταξύ των υπαρχόντων λογαριασμών.

Τι Συμβαίνει Αν Δεν Υπάρχει Επαλήθευση Email

Αν μια εφαρμογή επιτρέπει στους χρήστες να δημιουργούν λογαριασμό χωρίς να επαληθεύουν την ταυτότητά τους, είναι εύκολο να φανταστεί κανείς κάποιον να χρησιμοποιεί το email ενός άλλου για να δημιουργήσει το δικό του λογαριασμό. Αυτό ακριβώς θα μπορούσε να συμβεί. Αν και αυτό δεν σημαίνει ότι τα δεδομένα σας θα διαρρεύσουν, σημαίνει ότι δεν θα μπορείτε να εγγραφείτε με το δικό σας email αν έχει ήδη χρησιμοποιηθεί. Επιπλέον, κάποιος θα μπορούσε να δημιουργήσει έναν λογαριασμό χρησιμοποιώντας ένα εντελώς φανταστικό email. Αυτό μπορεί να μην φαίνεται σοβαρό αρχικά, αλλά θα γίνει καταστροφικό όταν ο προγραμματιστής προσπαθήσει αργότερα να χρεώσει ή να επικοινωνήσει με αυτόν τον χρήστη. Δεν θα ήξερα καν ποιος είναι αυτό το άτομο! Έτσι, η επαλήθευση email ήταν το επόμενο βήμα για το Splync.

Πώς Λειτουργεί η Επαλήθευση Email

Στο Splync v1.1, όταν ένας νέος χρήστης εγγράφεται, η εφαρμογή στέλνει αυτόματα ένα email στη διεύθυνση που εισήγαγε. Αυτό το email περιέχει έναν μοναδικό, αυτόματα παραγόμενο σύνδεσμο επαλήθευσης. Κάνοντας κλικ σε αυτόν τον σύνδεσμο, ο χρήστης επιβεβαιώνει ότι έχει πρόσβαση σε αυτόν τον λογαριασμό email. Μόλις επαληθευτεί, ο διακομιστής ενεργοποιεί τον λογαριασμό του χρήστη και τον αποθηκεύει στη βάση δεδομένων ως έγκυρο, επαληθευμένο χρήστη. Ακούγεται γνωστό, έτσι δεν είναι; Αυτή η διαδικασία εξασφαλίζει ότι κάθε λογαριασμός στο Splync ανήκει σε ένα πραγματικό, προσβάσιμο άτομο — ένα μικρό αλλά σημαντικό βήμα προς τη δημιουργία μιας αξιόπιστης κοινότητας. Ας ρίξουμε μια πιο προσεκτική ματιά στο πώς υλοποιείται αυτή η ροή από τεχνική άποψη.

Τεχνική Υλοποίηση της Επαλήθευσης Email

Το backend του Splync χρησιμοποιεί Python/FastAPI και η εφαρμογή για κινητά είναι κατασκευασμένη με SwiftUI. Η εφαρμογή χειρίζεται μόνο το περιβάλλον χρήσης, ενώ η λογική επαλήθευσης και τα ευαίσθητα διαπιστευτήρια παραμένουν ασφαλή στον διακομιστή. Στο v1.1, προσθέσαμε ένα βασικό βήμα επαλήθευσης email μεταξύ "μη επαληθευμένου χρήστη" και "επαληθευμένου χρήστη". Όταν ένας νέος χρήστης εγγραφεί, η εφαρμογή στέλνει τα δεδομένα που εισήχθησαν στον διακομιστή. Ο διακομιστής έχει μια βάση δεδομένων της MariaDB. Αποθηκεύει τον χρήστη ως μη επαληθευμένο στη βάση δεδομένων. Ο κωδικός πρόσβασης κρυπτογραφείται και αποθηκεύεται, αλλά ο λογαριασμός δεν είναι ακόμη ενεργός. Εκείνη τη στιγμή, ο διακομιστής δημιουργεί επίσης ένα μοναδικό σημείο ελέγχου επαλήθευσης με χρόνο λήξης. Στη συνέχεια, χρησιμοποιώντας έναν διακομιστή SMTP (Simple Mail Transfer Protocol), ο διακομιστής στέλνει ένα email επαλήθευσης που περιέχει έναν ασφαλή, μοναδικό σύνδεσμο. Όταν ο χρήστης ανοίξει τον σύνδεσμο, ο διακομιστής ελέγχει ότι το σημείο ελέγχου είναι έγκυρο και δεν έχει λήξει. Μόλις επαληθευτεί, ο λογαριασμός γίνεται ενεργός και ο χρήστης μπορεί να συνδεθεί κανονικά από την εφαρμογή. Αυτό διατηρεί την αυθεντικοποίηση ασφαλή και ελαφριά.

Python; FastAPI; SwiftUI; SMTP; MariaDB;

Αν αυτά σας ακούγονται σαν μυστικός κώδικας, μην ανησυχείτε — είναι απλώς τα εργαλεία που κάνουν το σύστημα να λειτουργεί μαζί. Σκεφτείτε τη ροή εγγραφής του Splync σαν ένα κέντρο υποστήριξης πελατών που επαληθεύει την ταυτότητα κάποιου. "Μπορώ να έχω το όνομά σας και τη διεύθυνση email σας;" ρωτάει η SwiftUI, η φιλική υπάλληλος στη ρεσεψιόν. Της λέτε τα στοιχεία σας και σας λέει, "Μπορείτε να περιμένετε ένα λεπτό;" Αμέσως τα προωθεί στο FastAPI, το εσωτερικό τηλεφωνικό σύστημα του γραφείου. Το FastAPI τη συνδέει με την Python, την ειδική υπάλληλο στα παρασκήνια υπεύθυνη για την επαλήθευση. Η Python ελέγχει με τη MariaDB, τη βάση δεδομένων πελατών, για να καταγράψει με ασφάλεια τις πληροφορίες σας — σημειώνοντας την κατάστασή σας ως "μη επαληθευμένη". Στη συνέχεια, η Python ζητά από το SMTP, τον εξωτερικό αγγελιοφόρο, να σας στείλει ένα email επιβεβαίωσης με έναν ασφαλή σύνδεσμο. Όταν κάνετε κλικ στον σύνδεσμο, η Python επιβεβαιώνει ότι είναι έγκυρος και ενημερώνει το αρχείο σας στη MariaDB ως "επαληθευμένο". Τέλος, το FastAPI ενημερώνει την υπάλληλο ότι η ταυτότητά σας έχει επιβεβαιωθεί και ο λογαριασμός σας είναι πλέον ενεργός. Μαζί, αυτά τα μέρη καθιστούν τη διαδικασία επαλήθευσης του Splync τόσο ανθρώπινη όσο και ασφαλή.

Το επόμενο βήμα στο ταξίδι ασφάλειας του Splync

Η επαλήθευση email μπορεί να φαίνεται σαν μια μικρή λειτουργία, αλλά αλλάζει τα πάντα σχετικά με την εμπιστοσύνη. Σηματοδοτεί τη στιγμή που το Splync εξελίσσεται από προσωπικό έργο μεταξύ φίλων σε μια δημόσια εφαρμογή όπου ο καθένας μπορεί να συμμετάσχει με σιγουριά. Η αποστολή ενός συνδέσμου επαλήθευσης μέσω SMTP μοιάζει ακόμη και με την πρώτη χειραψία του Splync με έναν νέο χρήστη. Πίσω από τα παρασκήνια, αυτή η δυνατότητα βάζει τις βάσεις για μελλοντικές βελτιώσεις — επαναφορά κωδικών πρόσβασης, πολυπαραγοντική ταυτοποίηση και ανάκτηση λογαριασμών. Κάθε στρώμα ασφάλειας βασίζεται στο προηγούμενο. Με την επαλήθευση email, το Splync v1.1 κάνει ένα σημαντικό βήμα μπροστά — καθιστώντας τη διαχείριση κοινών εξόδων όχι μόνο εύκολη αλλά και πραγματικά αξιόπιστη.