StavrosD Δημοσ. 9 Ιανουαρίου 2011 Δημοσ. 9 Ιανουαρίου 2011 Θέλω να προστατέψω τον javascript κώδικα μιας σελίδα από την αντιγραφή. Δεν θέλω να μπορούν να δουν οι επισκέπτες το αρχείο JS. Πως μπορώ να το καταφέρω; Έχετε καμια καλή ιδέα;
_tasos Δημοσ. 9 Ιανουαρίου 2011 Δημοσ. 9 Ιανουαρίου 2011 Κάνοντας λίγο googling δεν βρήκα κάποια full proof λύση. Σε διάφορα threads που γινόταν η σχετική συζήτηση όλοι έλεγαν πως δεν υπάρχει κάποια λύση που να προστατεύει τον κώδικα στο 100%, και ότι αν ο κώδικας είναι τόσο σημαντικός, τότε θα έπρεπε να είναι server side και όχι client side. Μία από τις λύσεις που πρότειναν και νομίζω ότι μπορεί να σε ενδιαφέρει είναι το obfuscation. Με αυτή τη διαδικασία κάνεις rename όλες τις μεταβλητές και ονόματα από functions. Ναι μεν ο κώδικας μπορεί να κλαπεί και να χρησιμοποιηθεί αλλά πρακτικά είναι πολύ δύσκολο για κάποιον να κάνει αλλαγές και διορθώσεις στον κώδικα. Πρακτικά πετυχαίνεις αυτό που θέλεις, διότι (λογικά) κανένας δεν θα θέλει κώδικα που να μην μπορεί να τον πειράξει έστω και λίγο.
StavrosD Δημοσ. 9 Ιανουαρίου 2011 Μέλος Δημοσ. 9 Ιανουαρίου 2011 Θα είναι στον server όλος σχεδόν ο κώδικας , αλλά το user interface δεν γίνεται να είναι στον server. To obfuscation δεν με καλύπτει. Έχω δει ότι σε σελίδες όπως π.χ. ebanking υπάρχει καλή προστασία, είναι αδύνατο να βρω ίχνος javascript ενώ φαίνεται ότι μερικά πράγματα γίνονται με javascript. Κάτι αντίστοιχο θέλω να κάνω αλλά για δική μου χρήση.
_tasos Δημοσ. 9 Ιανουαρίου 2011 Δημοσ. 9 Ιανουαρίου 2011 Κοίταξα λίγο το ebanking της eurobank και βρήκα εκεί πολλή javascript, τόσο <script> tags μέσα στην HTML, όσο και εξωτερικά αρχεία .js. Ο κώδικας εκεί δεν είναι καν minified, διαβάζεται μια χαρά. Καμία προσπάθεια για προστασία της javascript δηλαδή. Έχεις κάποιο ebanking συγκεκριμένα υπόψη σου;
digimyth Δημοσ. 11 Ιανουαρίου 2011 Δημοσ. 11 Ιανουαρίου 2011 Το μόνο που μπορείς να κάνεις είναι να βρεις κάποια υπηρεσία ή πρόγραμμα που θα κωδικοποιεί και θα συμπιέζει τον κώδικά σου ώστε να είναι δυσανάγνωστος. πχ την ακόλουθη εντολή >function getPassword() να την κάνει >function fhsu21312() Δε μπορείς να τον κρύψεις τελείως τον javascript κώδικα. Αν κάποιο κομμάτι είναι ευαίσθητο τότε πρέπει να το κάνεις server side πχ με php. Δες εδώ
StavrosD Δημοσ. 11 Ιανουαρίου 2011 Μέλος Δημοσ. 11 Ιανουαρίου 2011 obfuscation μπορώ να κάνω αλλά σε javascript είναι ανούσιο. Με λίγη όρεξη ακόμα και ένας αρχάριος μπορεί να βρει άκρη. Το ίδιο ισχύει και για το flash. Τελικά θα πάω σε silverlight.
_tasos Δημοσ. 11 Ιανουαρίου 2011 Δημοσ. 11 Ιανουαρίου 2011 Και το silverlight μπορεί να σπάσει. Το .xap αρχείο (που είναι το αντίστοιχο .swf του flash) στην ουσία είναι ένας container με κάποια .dll αρχεία. Είναι πιο εύκολο να κάνεις disassemble το dll από το π.χ. να σπάσεις το obfuscation του javascript κώδικα σου. Μέσα στο silverlight λοιπόν, δεν θα πρέπει να αποθηκεύσεις καμία ευαίσθητη πληροφορία (passwords, connection strings) διότι μπορούν εύκολα να τα πάρουν, αν και με αυτό που σου είπα σου την χάλασα για το silverlight...
digimyth Δημοσ. 11 Ιανουαρίου 2011 Δημοσ. 11 Ιανουαρίου 2011 Επίσης όταν δουλεύεις στο web με προϊόντα της "μικρομαλακήν" (ή αλλιώς microsoft) αυξάνεται το κόστος όλων των υπηρεσιών που θα χρησιμοποιήσεις.
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.