【问题标题】:Add Python Application to accept incoming network connections [closed]添加 Python 应用程序以接受传入的网络连接 [关闭]
【发布时间】:2013-11-10 09:58:17
【问题描述】:

在运行 Django 网络服务器时,我得到一个弹出窗口,上面写着 - 我总是点击“允许”,我可以在我的安全和隐私设置中看到“python”在那里并且设置为“允许传入连接”,但我仍然得到这个弹出窗口。如何防止此弹出窗口再次出现?

谢谢。

【问题讨论】:

  • 这不是题外话,它在编写使用网络连接的 Python 代码时帮助了我好几次。请接受你迂腐的冲动,重新布置一些杂货店的货架或其他东西。因此,有人不得不就接受的答案提出第二个问题。

标签: python django macos


【解决方案1】:

您可以通过自己签署有问题的应用程序二进制文件来解决此问题。

Disclaimer: Signing an application yourself will make an application appear more
secure to the operating system, when in reality it isn’t. Only sign applications
that you are 100% sure are not spyware or otherwise malicious. If you have any
doubts, just uninstall/reinstall.

第 1 部分:创建签名身份

我想要的解决方案 - 自己签署应用程序 - 要求我创建一个签名身份,也称为签名证书。这很容易做到:

  1. 打开应用程序 > 实用程序 > 钥匙串访问。
  2. 从 Keychain Access 菜单中,选择 Certificate Assistant > Create a Certificate。
  3. 填写证书的名称。此名称作为证书的名称出现在 Keychain Access 实用程序中。这也是您在引用此证书时将使用的名称。就个人而言,我使用了“我的签名身份”这个名称。
  4. 从证书类型菜单中选择代码签名。
  5. 从类型弹出菜单中选择自签名根。
  6. 选中让我覆盖默认值复选框。
  7. 点击继续。
  8. 指定证书的序列号。只要您没有其他具有相同名称和序列号的证书,任何数字都可以。
  9. 点击继续。
  10. 填写证书信息。您可以使用真实数据或虚假数据,我个人使用的是真实数据。
  11. 点击继续。
  12. 接受其余对话框的默认设置。

完成后,您将在 Keychain Access 中看到您的证书。验证您选择的名称,您已完成此步骤。干得好!

第 2 步:(重新)签署您的申请

现在您必须签署您的申请。为此,请再次打开终端并使用以下命令:

codesign -s "My Signing Identity" -f $(which python)

会出现一个对话框,点击“允许”。

现在重新启动您的应用程序。您将最后一次获得接受传入连接对话框。点击“允许”。

从现在开始,您将不再收到警告!现在可以享受防火墙处于活动状态的安全性,而无需不断单击“允许”。

致谢:作为此更新和注释解决方案指南起点的原始来源是 https://web.archive.org/web/20140228153242/http://silvanolte.com/blog/2011/01/18/do-you-want-the-application-to-accept-incoming-network-connections

【讨论】:

  • 这救了我的命。
  • 非常明确的方向。谢谢!
  • 信用链接现在消失了 - 我希望找到关于自签名 python 是否让我容易受到攻击的信息 - 有什么建议吗?
  • @memeLab Archive.org 来救援! web.archive.org/web/20140228153242/http://silvanolte.com/blog/…。答案已更新。
  • 工作于High Sierra 10.13.5。不要忘记将$(which python) 替换为你的python venv 的路径
猜你喜欢
  • 1970-01-01
  • 2013-01-04
  • 2017-09-12
  • 2012-02-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-27
  • 2021-09-29
相关资源
最近更新 更多