python - 添加 Python 应用程序以接受传入的网络连接

标签 python django macos

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

谢谢。

最佳答案

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

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. 打开应用程序 > 实用程序 > 钥匙串(keychain)访问。
  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)

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

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

enter image description here

从现在开始,您将不再收到警告!现在可以享受防火墙处于事件状态的安全性,而不必经常单击“允许”。

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

关于python - 添加 Python 应用程序以接受传入的网络连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19688841/

相关文章:

python - Django 模型的 DateTimeField 正在采用 UTC,即使时区在亚洲/加尔各答无处不在

python - 为什么 PyObjC 文档如此糟糕?

django - 使用 Django 应用程序在 Heroku 上获取 Twitter 流

python - 在 Mac OS X 中移动光标(在 Python 和/或 R 中)

macos - 如何创建与 Finder 的 "Compress"菜单项格式相同的 zip 文件?

python - 在对应于其他两列的一列中划分两行及其关系(Python)

python - 我不断收到 KeyError : 'tried' Whenever I Tried to Run Django Dev Server from Remote Machine

python - Django 测试 - 更新 View 不​​会更改数据库对象字段

javascript - Uncaught ReferenceError : stLight is not defined (in Chrome only)

objective-c - 安全删除包含 cocoa 绑定(bind)的 NSView