我差不多一年就拿起了python / django。尽管我已成功手动部署了我的网站,但django网站的部署仍然是我有很多疑问的主题。关于部署的一个最大问题是我可以采取哪些措施来保护我的应用程序的源代码,包括django的setting.py中的密码,来自其他人,特别是当我的网站在提供的虚拟主机上运行时由一些第三方。叫我偏执,但我的源代码在第三方服务器上运行,有人有权访问服务器上的任何/任何地方,这让我感到不安。
答案 0 :(得分:1)
如果someone has the privileges to access anything/anywhere on the server
你做不了多少,因为你可以做别人也可以做的事情,你可以尝试某种混淆方式,但这样做不会有效。只有解决方案才不是使用这样的共享存储库。
编辑:选项
答案 1 :(得分:1)
您的托管服务提供商几乎不会对您的源代码感兴趣。大多数网站的源代码都不值得。
如果您确实认为有必要保护您的源代码,那么最好的办法就是从您拥有并拥有物理控制权并可以独占访问的系统中提供服务。
如果不这样做,有一些混淆python的技术,其中最简单的方法是只将.pyc文件而非.py文件推送到生产服务器。但是,这不是Django的标准做法,因为托管提供商窃取网站源代码并不是一个现存的问题。我不知道这种技术是否适用于Django。
答案 2 :(得分:1)
虽然您的源代码可能很好,但我建议不要将配置密码以明文形式存储,无论代码文件是否编译。相反,在服务器上有一个适当密码的哈希值,让服务器生成一个在登录时提交的密码的哈希值,然后比较这些密码。标准安全实践。
然后我再次说出我的后端,因为我还没有和Django讨论过。
答案 3 :(得分:0)
保护源代码并不重要恕我直言。我只是部署编译过的文件而不用太担心它。
保护您的配置(特别是密码)确实很重要。 Temia的观点很好。