2010-01-12 2 views
0

Je dois télécharger mon projet django sur un fournisseur d'hébergement partagé.Comment puis-je chiffrer mon code django?

Comment puis-je chiffrer mon code?

Je souhaite masquer mon code sur le serveur. Merci :)

+3

en double, http://stackoverflow.com/questions/164901/how-would-i-package-and-sell-a-django-app –

Répondre

12

Vous pouvez télécharger des fichiers .pyc, mais ils sont complètement et complètement triviaux à décompiler.

+1

En effet. Si Python peut lire votre code, tout le monde peut s'y intéresser modérément. Si vous ne pouvez pas faire confiance à quelqu'un avec votre code, ne les laissez pas l'exécuter; héberger un service à la place. – jrockway

+0

Exaclty: vous ne pouvez pas obscurcir Python, ou tout autre langage de haut niveau. Un programmeur intelligent vous dirait ce que n'importe quel compilateur C cracherait - il suffit de lire l'assemblage. Donc, sauf si vous voulez écrire le code machine x86 auto-modifiable, trouver un moyen sans modifier. – pavpanchekha

4

De qui voulez-vous le cacher? S'il s'agit d'autres utilisateurs sur le système partagé, assurez-vous que les autorisations de répertoire sont limitées à votre utilisateur. Si c'est le fournisseur d'hébergement mutualisé lui-même, alors vous ne pouvez pas faire grand-chose puisque l'obfuscation ne vous achètera pas beaucoup; passer du temps à trouver un fournisseur d'hébergement digne de confiance, vous pouvez avoir confiance.

0

Si vous voulez vraiment cacher votre code, vous devez construire un interpréteur python personnalisé qui utilise des opcodes différents (en python bytecode). Ensuite, le serveur a seulement votre binaire piraté et pyc qui ne sont pas trivial à décoder. Vous pouvez ajouter un cryptage, ou au moins signer votre code afin que votre binaire ne soit pas facile à étudier.

Une autre possibilité est de ne jamais avoir votre code sur le disque, gardez-le seulement en RAM. Vous pouvez démarrer votre processus de serveur via, par exemple, execnet.