Python 在使用uWSGI运行Flask应用程序时,如何保护源代码?

Python 在使用uWSGI运行Flask应用程序时,如何保护源代码?,python,flask,pyinstaller,uwsgi,Python,Flask,Pyinstaller,Uwsgi,我有一个使用uWSGI运行的Flask应用程序。我的客户端可以访问应用程序运行的服务器 如何保护或隐藏我的源代码 编辑:我发现你可以通过在uWSGI中嵌入一个应用程序,但这似乎有些牵强。没错-如果有人非常想要它,那么真正保护你的算法的唯一方法就是不分发它们。但是,现实是代码无论如何都很难理解。通常,仅仅不记录代码就足以让人泄气。然而,有一些技术,您的努力会随着它们的安全程度而变化。我想到的一些方法是 编译成字节码:我在野外见过,有一家公司为Linux/Outlook开发了Python电子邮件客

我有一个使用uWSGI运行的Flask应用程序。我的客户端可以访问应用程序运行的服务器

如何保护或隐藏我的源代码


编辑:我发现你可以通过在uWSGI中嵌入一个应用程序,但这似乎有些牵强。

没错-如果有人非常想要它,那么真正保护你的算法的唯一方法就是不分发它们。但是,现实是代码无论如何都很难理解。通常,仅仅不记录代码就足以让人泄气。然而,有一些技术,您的努力会随着它们的安全程度而变化。我想到的一些方法是

  • 编译成字节码:我在野外见过,有一家公司为Linux/Outlook开发了Python电子邮件客户端。我记得它是通过一个编译的发行版被混淆的。你必须研究合适的工具

  • 在每个脚本级别进行模糊处理:检查该工具。它会让你的脚本几乎无法阅读(但只要付出合理的努力,它是可以逆转的)

  • 使用高级模糊器:查看。它要复杂得多,实施起来也会困难得多——但看起来它能完成任务

  • 开源it。似乎有悖常理——但算法很少是代码最有价值的方面。拥有理解和维护它的技能、时间和资源是非常重要的。如果有人看到你的代码,这很可能并不重要。如果您为客户提供了良好的服务,他们通常有比使用您的代码库更好的事情要做。有很多企业公司以开源软件为生(如Startburst,第二象限)

(使用pyminifier进行模糊处理的示例代码)

import argparse

你为什么要把一个烧瓶应用程序打包成二进制文件?后端逻辑和jinja模板逻辑对网站/服务的用户是不可见的。我不明白你为什么要首先将其转换为二进制文件?用户只看到HTML/CSS/JS,因为浏览器需要它来呈现content@JackofSpadesapi在非我们的本地服务器上运行。我们不希望我们的客户能够访问我们的源代码,也许我应该重新表述一下这个问题:当使用uWSGI运行flask api时,我如何保护/隐藏我的源代码?如果你想确保没有人能够获取你的代码,底线是不要以任何格式提交你的代码。这包括对运行代码的计算机的访问。