⊗ppPmAuHs 423 of 447 menu

Κρυπτογράφηση Κωδικού σε PHP

Η αποθήκευση του κωδικού πρόσβασης σε απλή μορφή είναι λανθασμένη. Ένας εισβολέας-κακόβουλος χάκερ μπορεί να αποκτήσει πρόσβαση στη βάση δεδομένων σας και να κλέψει τους κωδικούς πρόσβασης.

Γι' αυτό συνήθως το όνομα χρήστη αποθηκεύεται σε απλή μορφή, ενώ ο κωδικός πρόσβασης κρυπτογραφείται με ειδική συνάρτηση md5, η οποία δέχεται ως παράμετρο τον κωδικό πρόσβασης και επιστρέφει το hash του, από το οποίο δεν μπορεί να ανακτηθεί ο ίδιος ο κωδικός πρόσβασης.

Ας βρούμε, για παράδειγμα, το hash κάποιας συμβολοσειράς:

<?php echo md5('12345'); // θα εμφανίσει '827ccb0eea8a706c4c34a16891f84e7b' ?>

Τώρα πρέπει να αναδιατυπώσουμε την εγγραφή και την είσοδό μας. Αρχικά, θα συνιστούσα να καθαρίσετε τον πίνακα χρηστών, καθώς αυτήν τη στιγμή αποθηκεύονται κωδικοί πρόσβασης σε απλή μορφή, ενώ θα πρέπει να αποθηκεύονται τα hash τους. Στη συνέχεια, κατά τη δοκιμή της εγγραφής, ο πίνακας θα συμπληρωθεί με δεδομένα σε νέα μορφή.

Ας διορθώσουμε τώρα την εγγραφή μας έτσι ώστε κατά την αποθήκευση ενός νέου χρήστη στη βάση, να προστίθεται όχι ο κωδικός πρόσβασης, αλλά το hash του.

Η περιγραφόμενη διόρθωση θα είναι κάπως έτσι:

<?php $login = $_POST['login']; $password = md5($_POST['password']); // μετατρέπουμε τον κωδικό πρόσβασης στο hash του $query = "INSERT INTO users SET login='$login', password='$password'"; ?>

Ας κάνουμε ανάλογες διορθώσεις στην είσοδο:

<?php $login = $_POST['login']; $password = md5($_POST['password']); // μετατρέπουμε τον κωδικό πρόσβασης στο hash του $query = "SELECT * FROM users WHERE login='$login' AND password='$password'"; ?>

Κάντε αλλαγές στην εγγραφή λαμβάνοντας υπόψη την κρυπτογράφηση, εγγράψτε μερικούς νέους χρήστες, βεβαιωθείτε ότι προστέθηκαν στη βάση δεδομένων με κρυπτογραφημένους κωδικούς πρόσβασης.

Κάντε αλλαγές στην είσοδο λαμβάνοντας υπόψη την κρυπτογράφηση, δοκιμάστε να εισέλθετε ως προηγουμένως εγγεγραμμένοι χρήστες.

Ελληνικά
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Χρησιμοποιούμε cookie για τη λειτουργία του ιστότοπου, την ανάλυση και την εξατομίκευση. Η επεξεργασία των δεδομένων γίνεται σύμφωνα με την Πολιτική Απορρήτου.
αποδοχή όλων ρύθμιση απόρριψη