2010-01-12 3 views
0

Мне нужно загрузить проект django на хостинг-провайдера.Как я могу зашифровать код django?

Как я могу зашифровать свой код?

Я хочу скрыть свой код на сервере.

Спасибо :)

+3

дубликат, http://stackoverflow.com/questions/164901/how-would-i-package-and-sell-a-django-app –

ответ

12

Вы не можете. Вы можете загружать файлы .pyc, я полагаю, но они полностью и совершенно тривиальны для декомпиляции.

+1

Действительно. Если Python может читать ваш код, то может быть и тот, кто умеренно заинтересован. Если вы не можете доверять кому-то свой код, не позволяйте им запускать его; вместо этого запустите службу. – jrockway

+0

Exaclty: вы не можете запутать Python или любой другой язык высокого уровня. Умный программист скажет вам, что любой компилятор C выплевывает - просто прочитайте сборку. Поэтому, если вы не хотите писать самомодифицирующийся машинный код x86, найдите способ без изменения. – pavpanchekha

4

С кем вы пытаетесь скрыть это? Если это другие пользователи в общей системе, убедитесь, что у вас есть права доступа к каталогу, которые были правильно ограничены вашим пользователем. Если это сам хостинг-провайдер, то вы не можете много сделать, поскольку обфускация не будет покупать вас так много; потратьте некоторое время, чтобы найти авторитетного хостинг-провайдера, которому вы можете доверять.

0

Если вы действительно хотите скрыть свой код, вам нужно создать собственный интерпретатор python, который использует разные коды операций (в байт-коде python). Тогда на сервере есть только ваши взломанные двоичные и pyc-файлы, которые не являются тривиальными для декодирования. Вы можете добавить шифрование поверх этого или, по крайней мере, подписать свой код, чтобы ваш двоичный файл не так просто исследовать.

Другая возможность - никогда не иметь свой код на диске, а только хранить его в ОЗУ. Вы можете запустить серверный процесс через, например, execnet.

Смежные вопросы