Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Ευαίσθητα σημεία κώδικα και Reflection

Îåêßíçóå áðü ôï ìÝëïò JohnL. Τελευταία δημοσίευση από το μέλος JohnL στις 12-12-2007, 00:18. Υπάρχουν 4 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  10-12-2007, 18:27 38173

    Ευαίσθητα σημεία κώδικα και Reflection

    Αφού μέσω Reflection μπορεί κάποιος να δει όλο τον κώδικα, πώς μπορούμε να προστατεύσουμε κωδικούς και usernames που είναι σταθερά για όλους (και υποτίθεται άγνωστα από τον χρήστη) ?
  •  11-12-2007, 16:07 38221 σε απάντηση της 38173

    Απ: Ευαίσθητα σημεία κώδικα και Reflection

    Υπαρχουν διαθέσιμα διάφορα obfuscation tools που περιλαμβάνουν και string encoding. Δυστυχώς τα περισσότερα κοστίζουν αλμυρά. Αν θυμάμαι καλά, το Dotfuscator Community Edition είναι δωρεάν και κάνει strings encoding.
  •  11-12-2007, 17:20 38222 σε απάντηση της 38221

    Απ: Ευαίσθητα σημεία κώδικα και Reflection

    Δυστυχώς το Community Edition δεν κάνει String Encryption...
  •  11-12-2007, 19:15 38228 σε απάντηση της 38222

    Απ: Ευαίσθητα σημεία κώδικα και Reflection

    Η καλύτερη λύση είναι να ΜΗΝ βάζεις usernames, passwords ή άλλα ευαίσθητα strings στον κώδικα. Άσε που αν αλλάξει κανένα username ή password θα πάψει να δουλεύει η εφαρμογή σου. Υπάρχουν διάφορες λύσεις οι οποίες εξαρτώνται από το τί θέλεις να κάνεις. Αν έχεις ένα web site, web service, windows service ή WCF service το οποίο πρέπει να συνδέεται με κάποια βάση χρησιμοποιώντας ένα συγκεκριμένο account, η πιο ασφαλής λύση είναι να τρέχει και το web site, service οτιδήποτε, με αυτό το account. Αν για οποιοδήποτε λόγο δεν μπορείς να τρέξεις τον κώδικα σου με το account που χρειάζεσαι, μπορείς να γράψεις το username/password στο app.config και να κρυπτογραφήσεις το κομμάτι που περιέχει τα στοιχεία αυτά με το κατάλληλο command line εργαλείο (δεν το θυμάμαι τώρα). Μπορείς επίσης να χρησιμοποιήσεις το Enterprise Library, το οποίο σου επιτρέπει να ορίσεις σχετικά εύκολα ποιά κομμάτια του configuration θα κρυπτογραφηθούν και αναλαμβάνει να τα αποθηκεύσει στο app.config ή ακόμα και σε βάση δεδομένων.

    Αυτό που σίγουρα ΔΕΝ πρέπει να κάνεις είναι να αφήσεις αυτά τα strings μέσα στον κώδικα.


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  12-12-2007, 00:18 38232 σε απάντηση της 38228

    Απ: Ευαίσθητα σημεία κώδικα και Reflection

    Παναγιώτης Καναβός:
    Αν έχεις ένα web site, web service, windows service ή WCF service το οποίο πρέπει να συνδέεται με κάποια βάση χρησιμοποιώντας ένα συγκεκριμένο account, η πιο ασφαλής λύση είναι να τρέχει και το web site, service οτιδήποτε, με αυτό το account.


    Εννοείς ο κάθε χρήστης να έχει δικό του username & password? Όχι σε σχέση με τα Windows accounts, έτσι? Αναφερόμουν σε περίπτωση, που δε χρειάζεται καθόλου πρoσωποποίηση, και όλα τα δεδομένα είναι κοινά και read-only. Δεν είναι λίγο υπερβολικό ο καθένας να έχει δικό του account?

    Παναγιώτης Καναβός:
    Αν για οποιοδήποτε λόγο δεν μπορείς να τρέξεις τον κώδικα σου με το account που χρειάζεσαι, μπορείς να γράψεις το username/password στο app.config και να κρυπτογραφήσεις το κομμάτι που περιέχει τα στοιχεία αυτά με το κατάλληλο command line εργαλείο (δεν το θυμάμαι τώρα).


    Ξέρει κανείς ποιό είναι αυτό?

    Παναγιώτης Καναβός:
    Μπορείς επίσης να χρησιμοποιήσεις το Enterprise Library, το οποίο σου επιτρέπει να ορίσεις σχετικά εύκολα ποιά κομμάτια του configuration θα κρυπτογραφηθούν και αναλαμβάνει να τα αποθηκεύσει στο app.config ή ακόμα και σε βάση δεδομένων.


    Υποθέτω ότι αυτό είναι αντίστοιχη λύση με την προηγούμενη. Θα το κοιτάξω και θα δω αν με βολεύει!

Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems