Σχεδιασμός και Υλοποίηση Πληροφοριακού Συστήματος βέλτιστης διαδρομής συνεπιβατών που
χρησιμοποιούν υπηρεσίες Ταξί
89
3.4.6 Κρυπτογραφία
Οι κωδικοί πρόσβασης (passwords) των χρηστών αποθηκεύονται στη βάση
δεδομένων κρυπτογραφημένοι (safe password hashing), κάτι το οποίο αποτελεί μια
θεμελιώδη αρχή ασφάλειας στους διαδικτυακούς ιστοχώρους.
Πιο αναλυτικά, κατά τη δημιουργία ή ανανέωση ενός κωδικού, ο κωδικός δεν
αποθηκεύεται στη μορφή που τον έχει εισάγει ο χρήστης, αλλά καλείται η συνάρτηση
password_hash() [27] της PHP, η οποία επιστρέφει την hash τιμή του συνθηματικού
και η οποία αποθηκεύεται στη βάση. Όταν απαιτείται να γίνει ο έλεγχος της
αυθεντικοποίησης, τότε καλείται η συνάρτηση password_verify() [28], η οποία
επαληθεύει ότι ο κωδικός που εισάχθηκε ταιριάζει με το hash που είναι
αποθηκευμένο στη βάση δεδομένων.
Εικόνα 41: Συναρτήσεις password_hash() και password_verify().
3.4.7 Έλεγχος και Καταγραφή
Η διασφάλιση της ποιότητας μέσω της χρήσης αυτοματοποιημένων ελέγχων,
καθώς και η ελαχιστοποίηση των προειδοποιήσεων του μεταγλωττιστή ή του
διερμηνευτή αποτελούν ζητήματα τα οποία προσδίδουν μεγαλύτερη ασφάλεια σε
ένα σύστημα.
Έτσι, επιδιώξαμε η εφαρμογή μας να μην εμφανίζει κανένα προειδοποιητικό
μήνυμα με την ενεργοποίηση όλων των warnings μέσω του αρχείου
check_err_warn.php, το οποίο αναλύθηκε σε προηγούμενη ενότητα 3.3 (Εικόνα 27).
Τέλος, με τη βοήθεια της κονσόλας (console), του βοηθητικού εργαλείου για
προγραμματιστές από τον Google Chrome, ελέγχθηκαν και διορθώθηκαν όλα τα
πιθανά λάθη (errors) και warnings των ιστοσελίδων του συστήματός μας.
Σύνοψη Κεφαλαίου
Στο κεφάλαιο αυτό, δόθηκε αναλυτικά η περιγραφή του τρόπου σχεδίασης
και ανάπτυξης του συστήματος. Παρουσιάστηκαν οι απαιτήσεις του συστήματος και
ο σχεδιασμός της βάσης δεδομένων και όλων των πινάκων που την απαρτίζουν. Στη