易受安全威脅的常見 Python 應用程式
Python 是一種自發佈以來經歷了爆炸性增長的語言,現在被具有不同經驗水準的開發人員廣泛用於各行各業。它有趣的一點是,它相對易於訪問,同時提供了足夠的功能來保持資深開發人員的興趣和動力繼續使用它。讓我們來看看 Python 應用程式的一些相關示例。
為了配合官方宣佈對Python的擴展生命週期支持,我們查看了一些廣泛使用的Python應用程式。這些是應用程式支援在 Python 2 上運行時安全漏洞將受到巨大代碼庫的影響巨大的範例。另一方面,支援遷移到 Python 3 需要花費無數的開發時間。
從Web開發和框架開始,Django被廣泛用作高性能,高流量網站的基礎。它運行在Python 2之上,直到1.11版本,此後所有版本都支援Python 3。如果您的網站是使用第一個 Django 版本之一開發的,您應該考慮更新網站上的所有代碼 - 或擴展您的 Python 2 支援以保持安全。
Flask是另一個用於Web應用程式的Python框架。從 Flask 版本 2.0.0 開始,不再支援 Python 2,只有 Python 3 獲得 Flask 社區的官方支援。但是,如果有足夠的安全保證,現有的 Flask 2.0.0 之前的應用程式將繼續正常運行。
另一個Python應用程式和庫盛行的領域是人工智慧和機器學習。多個備受矚目的庫,如Tensorflow,Pandas或Scikit-learn,要麼完全在Python中實現,要麼為其內部函數提供Python綁定。它們是可以添加到其他應用程式的構建塊,並提供對最先進處理功能的訪問。
數據科學家將識別其中一些名稱,因為它們也通過圖形繪製和資訊可視化在數據空間的可視化中發揮作用。這些庫的可用性是Python在全球科學家和博士生中如此普遍的根本原因之一。即使是非技術專業的學生也會學習足夠的Python來改進他們的專案。
DevOps工程師會將Bazaar,Mercurial,Buildbot和SCons視為熟悉的名稱,並且都是基於Python構建或與之緊密集成的。
在企業方面,Tryton和Odoo是具有大型部署的ERP和CRM平臺。
這些是代碼繁重的應用程式,其中任何更改(無論多麼微小)都會中斷常規業務操作,因此在沒有其他選項可用之前會避免。使用者以某種方式處理了從Python 2到Python 3的過渡,但這種過渡對最終用戶來說並不總是和平的。
假設您的部署正在運行,就像您需要它運行一樣。不應強制進行遷移,這可能會引入意外問題,例如不相容的第三方應用程式和已棄用的功能。應考慮通過對 Python 的擴展生命週期支援來延長現有應用程式的安全生命週期。