2013-10-30 24 views
18

當我在MacBook(OS X 10.8.5)上啓動Django開發Web服務器時,我會看到一個彈出窗口,上面寫着:「您是否希望應用程序'python'接受傳入的網絡連接?我總是點擊「允許」,我可以看到我的安全&隱私設置,「python」在那裏,並設置爲「允許傳入連接」,但我仍然彈出此窗口。我需要採取額外的措施來防止彈出窗口再次出現嗎?將Python添加到OS X防火牆選項?

謝謝。

+0

相關問題:http://stackoverflow.com/questions/17527700/do-you-want-應用程序接受傳入網絡連接 –

+1

這不是脫節的,它在編寫使用網絡連接的Python代碼時幫助了我好幾次。請拿出你的迂腐的催促,並重新安排一些雜貨店貨架,或其他東西。由於這個原因,有人不得不問第二個關於被接受的答案的問題。 –

回答

58

您可以通過自己簽署有問題的應用程序二進制文件來解決此問題。

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. 從鑰匙串訪問菜單中選擇證書助理>創建證書。
  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

+4

這救了我的命。 – Bobo

+0

非常明確的方向。謝謝! –

+0

現在信用鏈接已經消失 - 我希望能夠找到有關自簽名python是否會讓我脆弱的信息 - 任何建議? – ptim