2009-08-06 184 views
10

是否有可能只部署二進制版本的基於django的Web應用程序,沒有源代碼發佈?django二進制(無源代碼)部署

謝謝

+0

你爲什麼要這樣做? – 2009-08-07 08:50:19

+3

保護我猜的代碼,你有一個web應用程序,你需要部署到你的客戶端(許多客戶端)服務器 – icn 2009-08-07 16:26:49

+0

我對whis的懷疑。保護什麼? 我看不到Web應用程序構成的危險。訪問源代碼更多的是服務器配置/權限問題......或者我完全錯過了這一點? – Agos 2009-08-07 20:36:58

回答

5

是的,你可以,有點。

已閱讀http://effbot.org/zone/python-compile.htm - 應該回答你的問題!

+4

請注意,如果您對「隱藏」源代碼感興趣,那麼有些工具可以生成pyc文件中的Python代碼(包括註釋!) – juanjux 2009-08-07 09:45:40

3

不,目前沒有可靠的做法。甚至像上面這個答案中引用的編譯代碼也不是100%安全的。

我的建議:爲您的客戶打開開放的代碼,與他們保持良好的關係是唯一的出路。從商業的角度看,隱藏你的代碼是很好的,但從客戶關係的角度來看,這是一個真正的展示瓶頸。廣告:「我們的代碼是開放的!」,這並不意味着您的客戶可以用它做任何他們想做的事情。

+3

我認爲這是一次又一次的程序員想要解決編程問題,即使他們不相關。又一次着名的工程諺語的插圖:「當你所有的只是一把錘子,所有的問題看起來像釘子」:) – wazoox 2009-08-08 10:37:47

+0

+1與客戶的良好關係。 – Agos 2009-08-08 10:39:48

12

噢,再次說明那個舊的...簡而言之,你不能以一種非編譯語言(Python,Perl,PHP,Ruby ...)以一種源代碼安全的方式部署應用程序 - 技巧是非常容易規避的。無論如何,這完全沒有關係:您與客戶簽訂的合同確實如此。即使對於Java來說,也有整齊的反編譯器。

如果您的客戶想要在另一臺機器上手動重新部署您的應用程序,那麼即使應用程序使用了C語言,他也可以反正。除非您編寫了受加密狗保護的反盜版方案?來吧。你必須與你的客戶建立關係。這是一個社會,商業和法律問題,不能與技術特技解決。