2009-08-06 186 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语言,他也可以反正。除非您编写了受加密狗保护的反盗版方案?来吧。你必须与你的客户建立关系。这是一个社会,商业和法律问题,不能与技术特技解决。