development, και αυτό δεν είναι κακό. Η ιδέα του “NPM” (Node Package Manager)
είναι να μοιράζεται ο κώδικας σε αυτούς που θέλουν να τον χρησιμοποιήσουν. Εδώ
όμως προκαλείται το πρόβλημα της αμϕιβολίας από την μεριά του προγραμματι-
στή, ο οποίος δεν είναι βέβαιος αν ο αντίστοιχος κώδικας είναι αξιόπιστος, αϕού
δεν αποτελεί προσωπική του δημιουργία και γνωρίζει πως οποιοσδήποτε μπορεί
να κάνει upload όποιο πακέτο θέλει. Συνεπώς, πρέπει πάντα να γίνεται έλεγχος
των πακέτων ώστε να θεωρείται έμπιστη η χρήση τους. Γενικότερα όμως, ευτυχώς
για τους προγραμματιστές υπάρχουν πολλές και μεγάλες βιβλιοθήκες πακέτων που
μπορούν να εμπιστευτούν, όπως είναι η React, διότι αναπτύσσονται από μεγάλες
εταιρίες και χρησιμοποιούνται από την πλειοψηϕία τους. Ένα ακόμα σοβαρό ζή-
τημα, είναι η ασϕαλής διαδικτυακή σύνδεση που είναι ανάλογης σημαντικότητας
και πρέπει να εϕαρμόζεται σε κάθε σύστημα που συλλέγει ευαίσθητες πληροϕο-
ρίες. Με λίγα λόγια, επιτακτική ανάγκη κάθε ιστοσελίδας είναι να υπάρχει HTTPS
(Hypertext Transfer Protocol Secure) παντού. Αυτό σημαίνει όταν στέλνεται μια πλη-
ροϕορία από τον client στο σύστημα, η οποία είναι απλά κείμενο, κάποιος μπορεί να
την παρακολουθεί και να τη δει. Οπότε ασϕαλίζοντας τη σύνδεση γίνεται ανέϕικτο
για κάποιον να δει ποιο είναι το output των δεδομένων που στέλνονται μέσω των
καλωδίων (wires). Τελικά, αξίζει να αναϕερθεί πως υπάρχουν κι άλλες πρακτικές
επίθεσης και πως θα πάντα θα υπάρχουν, και ένα σύστημα δεν μπορεί ποτέ στο
100% να είναι ασϕαλές, όπως ομοίως πάντα θα εϕαρμόζονται οι βέλτιστες πρα-
κτικές για την ασϕάλεια του. Παρακάτω αναλύονται οι τεχνικές ασϕάλειας που
αναϕέρθηκαν και που ακολούθησε το συγκεκριμένο σύστημα.
• Κρυπτογράφηση των κωδικών πρόσβασης (passwords) που επιλέγουν οι
χρήστες κατά την εγγραφή τους στο σύστημα.: Ένας επισκέπτης της ιστο-
σελίδας, προκειμένου να γίνει χρήστης της, πρέπει πρώτα να συμπληρώσει
στην ϕόρμα εγγραϕής (registration form) τα στοιχεία του. Εκεί, του ζητείται
να πληκτρολογήσει τον κωδικό, που θα συμπληρώνει κάθε ϕορά που επιθυμεί
να εισέρχεται στο σύστημα. Για να μπορέσει ο κωδικός του να είναι ασϕαλής
κατά την μεταϕορά του στο Διαδίκτυο, έχει εϕαρμοστεί η συνάρτηση κρυπτο-
γράϕησης “bcrypt” ένα από τα δημοϕιλέστερα πακέτα (NPM package). Εκτός
από την ενσωμάτωση ενός salt για την προστασία από επιθέσεις rainbow table,
το “bcrypt” είναι μια προσαρμοστική συνάρτηση, έτσι ώστε με την πάροδο του
54