bikey77 Δημοσ. 20 Δεκεμβρίου 2010 Δημοσ. 20 Δεκεμβρίου 2010 Είμαι freelancer web developer και σε ξεκινώ τη συνεργασία με μια εταιρία κατασκευής λογισμικού (εφαρμογές εμπορικής διαχείρισης) για να φτιάξουμε μαζί μια πλατφόρμα e-shop βασισμένη πάνω στο δικό τους λογισμικό. Το e-shop βασίζεται σε δικό μου κώδικα και CMS και όχι σε κάποιοα έτοιμη πλατφόρμα. Σκοπός της συνεργασίας, να αποκτήσουν e-shop οι πελάτες της άλλης εταιρίας που θα συνδέεται άμεσα με την εμπορική εφαρμογή, θα αντλεί δεδομένα από την ίδια βάση κλπ. Το ερώτημά μου τώρα... Με ποιους τρόπους μπορώ να διασφαλίσω τη δουλειά μου (δηλ όλο τον κώδικα που έχω δημιουργήσει εδώ και αρκετό καιρό) και να αποφύγω πχ να πάρουν τον κώδικά μου και να φτιάχνουν μόνοι τους τα eshops αν κάποια στιγμή το σκεφτούν.. πονηρά? Σκέφτηκα πχ τα core files (που περιέχουν τις βασικές λειτουργίες του eshop) να βρίσκονται σε ένα αρχείο που θα καλείται remotely από δικό μου server, έτσι ώστε, στον server του κάθε πελάτη να βρίσκονται μόνο οι σελίδες προϊόντων, αλλά ουσιαστικά χωρίς τα core files να είναι άχρηστα τα υπόλοιπα. Αυτό όμως ίσως χτυπήσει άσχημα στην άλλη εταιρία. Υπάρχει κάποιος trasnparent τρόπος εκτός από ένα κλασσικό include('http://www.mysisite.com/corefiles.php')? Άλλο που σκέφτηκα είναι να είναι encoded και να γίνονται encode-decode κατά την κλήση (αυτό στην πράξη δεν ξέρω πως θα μπορούσε να γίνει, μόνο θεωρητικά το έχω σκεφτεί). Γενικά, θα ήθελα να ακούσω ιδέες και προτάσεις για τη συγκεκριμένη περίπτωση και να μου πείτε από τη δική σας εμπειρία τι λύσεις έχετε χρησιμοποιήσει. Το eshop είναι γραμμένο σε PHP/MySQL.
platongr Δημοσ. 20 Δεκεμβρίου 2010 Δημοσ. 20 Δεκεμβρίου 2010 Ο πιο σωστός τρόπος είναι να κατοχυρώσεις την εφαρμογή σου, και μετα με ένα συμβόλαιο όπου τους παραχωρείς το δικαίωμα χρήσης της εφαρμογής ή μέρους της έναντι κάποια αμοιβής, ή έναντι κάποιου ποσοστού επί των πωλήσεων του eshop ή όπως έχετε συμφωνήσει. Η λύση των core files είναι λίγο μπελάς. Πρέπει να τα βάλεις σε 2-3 μηχανάκια σε περίπτωση που πέσει κάτι, να συνεχίσει το site του πελάτη. Εγώ χρησιμοποιώ την ίδια λύση στους πελάτες μου περισσότερο για να μην μου κλέψει κάποιος από αυτούς την εφαρμογή. Στην δικιά σου περίπτωση είναι λίγο διαφορετικά τα πράγματα. Φαντάσου σε ένα update να χρειαστεί να αλλάξεις x εγκαταστάσεις για να προσθέσεις άλλο ένα include...
CyberCr33p Δημοσ. 20 Δεκεμβρίου 2010 Δημοσ. 20 Δεκεμβρίου 2010 Μπορείς να χρησιμοποιήσεις το ioncube για να κάνεις encode κάποια βασικά αρχεία (συνήθως αυτά που περιέχουν τις functions). Πάντως θεωρώ απαραίτητο να υπογράψετε ένα συμφωνητικό που θα περιγράφει ακριβώς τα δικαιώματα/υποχρεώσεις και τα δικά σου και της εταιρίας.
bikey77 Δημοσ. 21 Δεκεμβρίου 2010 Μέλος Δημοσ. 21 Δεκεμβρίου 2010 @platongr: Η πιθανότητες να πέσει ο δικός μου server είναι ίσες με εκείνες να πέσει το site του πελάτη, και οι δύο servers σε κάποια εταιρία hosting θα ανήκουν με τα ίδια vulnerabilities και ποσοστό uptime. Αυτό δε με ανησυχεί. Επίσης, μπορεί να είναι και ενδεδειγμένη λύση το να είναι όλα σε ένα μέρος, κεντρικοποιημένα, μια και αν χρειαστεί κάποιο update, είναι όλα στο ίδιο μηχάνημα, μη σου πω ότι μπορεί κάποια αρχεία να είναι και ίδια για κάποια installations οπότε με ένα update ενημερώνοναι x site ταυτόχρονα. @CyberCr33p: Θα το δοκιμάσω, μου φαίνεται καλή λύση.
CyberCr33p Δημοσ. 21 Δεκεμβρίου 2010 Δημοσ. 21 Δεκεμβρίου 2010 Όχι εάν κάνεις include απομακρυσμένο αρχείο τότε αρκεί να πέσει ή ο δικός σου server ή ο server που κάνει hosting o πελάτης. Δηλαδή διπλασιάζονται οι πιθανότητες το site να μην δουλεύει. Εάν προχωρήσεις με αυτή τη λύση θα σου πρότεινα το αρχείο να βρίσκεται σε τουλάχιστον 2 διαφορετικούς servers έτσι ώστε εάν δεν δουλεύει από τον έναν να δουλέψει από τον άλλον.
digimyth Δημοσ. 21 Δεκεμβρίου 2010 Δημοσ. 21 Δεκεμβρίου 2010 Υπάρχουν προγράμματα που κάνουν encode τα php αρχεία. Με αυτό τον τρόπο μόνο ένας reverse engineer θα μπορούσε να τα αποκρυπτογραφήσει και μετά από πολύ κόπο... Το καλύτερο είναι να συνδυάσεις και τις 2 μεθόδους. Δηλαδή και να κατοχυρώσεις τον κώδικά σου αλλά και να τον κρυπτογραφήσεις. Όσον αφορά το remote πιστεύω ότι δεν είναι καλή ιδέα...
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.