Πώς μπορούμε να προστατεύσουμε τα cookies από την πρόσβαση μέσω JavaScript;
sobes.tech AI
Απάντηση από AI
Χρησιμοποιώντας τη σημαία HttpOnly.
Η σημαία HttpOnly υποδεικνύει στο πρόγραμμα περιήγησης ότι αυτό το cookie δεν πρέπει να είναι προσβάσιμο μέσω scripts από την πλευρά του πελάτη (π.χ., JavaScript). Αυτό βοηθά στην πρόληψη επιθέσεων τύπου cross-site scripting (XSS), όπου ένας επιτιθέμενος μπορεί να αποκτήσει πρόσβαση στο περιεχόμενο του cookie και να κλέψει ευαίσθητες πληροφορίες.
Παράδειγμα ρύθμισης ενός cookie με τη σημαία HttpOnly στην πλευρά του διακομιστή (π.χ., Node.js με Express):
// Ορισμός του cookie "session_id" με την τιμή "abcdef12345"
// και τη σημαία HttpOnly.
res.cookie('session_id', 'abcdef12345', { httpOnly: true });
Εάν το cookie ρυθμιστεί με τη σημαία HttpOnly, κατά την προσπάθεια πρόσβασης σε αυτό μέσω document.cookie ή άλλων API του πελάτη, η τιμή του δεν θα εμφανίζεται στη συμβολοσειρά ή θα επιστρέφει κενή, ενώ άλλα cookies χωρίς αυτή τη σημαία θα είναι προσβάσιμα.