52
ΑΝΑΛΥΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ ΣΥΣΤΗΜΑΤΟΣ
ότι ο κωδικός πρόσβασης που πληκτρολογήθηκε, ταιριάζει με το hash που είναι αποθη-
κευμένο στη βάση δεδομένων. Η χρήση των δύο παραπάνω συναρτήσεων παρουσιάζεται
στην Εικόνα 20.
Εικόνα 20: Συναρτήσεις password_hash & password_verify.
Επιπλέον, κατά τη τροποποίηση ενός κωδικού πρόσβασης, ο χρήστης πρέπει να
συμπληρώσει στη φόρμα επικοινωνίας τρία πεδία τύπου password. Στο πρώτο πρέπει να
συμπληρώσει τον υπάρχων κωδικό πρόσβασης. Στο δεύτερο τον νέο κωδικό πρόσβασης
και στο τρίτο επαλήθευση του κωδικού που έχει πληκτρολογήσει στο δεύτερο. Μόνο αν
και τρία πεδία συμπληρωθούν σωστά θα γίνει η αλλαγή.
3.10.2 Ασφάλεια Πεδίων στις Φόρμες Επικοινωνίας
Η σωστή επικύρωση των δεδομένων εισόδου είναι μια από τις σημαντικότερες διαδικα-
σίες για την φύλαξη από επιθέσεις από κακόβουλους χρήστες. Κάποιες από τις πιο γνω-
στές επιθέσεις είναι η Cross-Site Scripting, ψεκασμού εντολών SQL (SQL injection),
υπερχείλισης κ.ά. Για την αποφυγή τέτοιων επιθέσεων στο σύστημα, γίνεται φιλτράρισμα
και η επικύρωση των τύπων των μεταβλητών, που στέλνονται από τα πεδία στις διάφορες
φόρμες επικοινωνίας.
Σε αυτό το πληροφορικό σύστημα, χρησιμοποιήθηκε η συνάρτηση filter_var()
[15], η οποία «καθαρίζει» τα δεδομένα που δίνει ο χρήστης από ανεπιθύμητους χαρακτή-
ρες και επικυρώνει τον τύπο τους, ανάλογα με ένα ορισμένο φίλτρο. Στην Εικόνα 21
φαίνεται ένα παραδείγματα χρήσης της συνάρτηση filter_var().
Εικόνα 21: Συνάρτηση filter_var().