Κωδικός On Fire πάθος για Cool κώδικα

28 Jul/09 1

Πώς να ασφαλή σύνδεση διαπιστευτήρια για Άγιαξ

Πολλές JavaScript και άλλους πελάτες που κάνουν χρήση REST ή άλλες υπηρεσίες Ιστού πρέπει να χρησιμοποιήσει τις πιστοποιήσεις ελέγχου ταυτότητας για να επιτραπεί η πρόσβαση στον τελικό χρήστη των υπηρεσιών αυτών.

Υπάρχουν διάφοροι τρόποι για να πάρετε τις πιστοποιήσεις στο διακομιστή. Μια δημοφιλής μέθοδος είναι η χρήση HTTP1.1 Auth, είτε χωνέψει ή βασικό. Το πρόβλημα με αυτή τη μέθοδο είναι ότι δεν κρύβει τα διαπιστευτήριά σας από τον κόσμο. ακούει κανείς σε σχετικά με την κυκλοφορία Ιστού σας είναι ουσιαστικά σε θέση να πάρουν τα πιστοποιητικά σας από τις επικεφαλίδες.

Μια άλλη μέθοδος, ίσως πιο εύκολα χρησιμοποιούνται από την πλειονότητα, είναι να συμπεριληφθεί login διαπιστευτήρια του POST ή GET κλήσεις που γίνονται σε web υπηρεσίες. Και ότι είναι εξίσου εκτεθειμένοι.

http://mywebserver.com/mywebservice/?user=admin&pass=1234
δεν κάνει για πολύ υψηλή ασφάλεια των μεταφορών.

Το SSL είναι πραγματικά ο μόνος τρόπος για να βεβαιωθείτε ότι τα διαπιστευτήριά σας παραμένουν κρυμμένα από τον υπόλοιπο κόσμο.

Server Generated Κουπόνια for αποκρύπτοντας πιστοποιήσεις Login

Έχω λάβει μια διαφορετική τακτική. Τρέχει την ακόλουθη πορεία:

  1. Η πελάτης έχει ζητήσει ένα τυχαίο κουπόνι από το διακομιστή να χρησιμοποιήσει κατά τη διάρκεια της συνόδου είναι.
  2. Μόλις λάβει τη συμβολική του πελάτη concatenates τη συμβολική μέχρι το τέλος του κωδικού πρόσβασης και, στη συνέχεια κάνει μια MD5 hash για το όλο θέμα.
  3. Όταν διαπιστευτήρια απαιτούνται από τον κεντρικό υπολογιστή, ο πελάτης περνάει τότε user = "όνομα χρήστη" & passhash = [md5 (password + token)]
  4. Ο διακομιστής συγκρίνει αυτό με την ίδια διαδικασία σε αυτό το τέλος. Σε περίπτωση που συμπίπτουν οι δύο hashes, τότε οι κωδικοί πρόσβασης που χρησιμοποιούνται σε αυτά hashes πρέπει να είναι το ίδιο πράγμα επίσης.

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

Λαμβάνοντας τα πράγματα ένα βήμα παραπέρα

Το αρχικό βήμα για μένα ήταν να χρησιμοποιήσει [md5 (password + token)]. Τώρα έχω ενημερωθεί ότι η χρήση μιας ποικιλίας των πληροφοριών που θα ήθελα να κρύψουν:
[Md5 (username + password my_ip + + token)], το οποίο έχει κάποια ενσωματωμένη στο cross-site scripting συσκότιση χτισμένο in

Μια δόλια και πολύ ζήλο χάκερ μπορεί να επισκιάσουν ακόμα συνεδρία σας με κάποια προσπάθεια. Και μπορείτε να βεβαιωθείτε ότι δεν αξίζει / του / της, ενώ με την τακτική αλλαγή του token για την τρέχουσα περίοδο.

KnowledgeTree API JavaScript

Ως προγραμματιστής για KnowledgeTree Είμαι σήμερα εργάζονται για την ομάδα JavaScript βιβλιοθήκες που θα εκθέσει τη λειτουργικότητα server μέσω API. Μια βασική συνιστώσα της KnowledgeTree είναι αυτό είναι αυστηρές. Η μέθοδος που αναφέρθηκε παραπάνω (ή κάποια παραλλαγή του) βρίσκεται στο στάδιο της εφαρμογής για KnowledgeTree jAPI.

* KnowledgeTree είναι ένα OpenSource Document Management System για SMB για Επιχειρήσεις οντότητες επίπεδο.

Και μετά και προς τα πάνω!

Σχόλια (1) Trackbacks (1)
  1. Βλέπω πολλούς ανθρώπους που έρχονται εδώ ψάχνοντας για το σενάριο MD5 είμαι με τη χρήση. Υπάρχουν πολλοί από αυτούς εκεί έξω, επέλεξε να χρησιμοποιήσει αυτό:

    http://kevin.vanzonneveld.net/techblog/article/javascript_equivalent_for_phps_md5/

    Θυμηθείτε να συμπεριλάβετε την utf8 λειτουργία από τον ίδιο χώρο για την εξασφάλιση MD5 έργα.


Αφήστε ένα σχόλιο