我依靠PHP CLI來處理各種個人和(希望很快)專業/任務關鍵型“業務邏輯”。 (這可能是任何其他語言,並且完全相同的問題仍然存在;我只是在說明自己是為了上下文而使用的語言。)
在盡可能最大的程度上,我總是在上面編寫所有代碼我自己的。只有在絕對必要時,我才勉強使用第三方庫。對於某些事情,這只是必要的。例如,電子郵件解析和其他類似的非常複雜的東西。
對於管理此類第三方庫,我使用 PHP Composer。這是PHP的庫管理器。它能夠下載庫及其依賴項,並使用類似於其他“包管理器”的命令來更新它們。從實際意義上講,這比手動跟踪和手動下載ZIP文件並解壓縮並處理各種問題要好得多。至少可以避免很多實際的麻煩。
,最基本的安全問題仍然存在:我不知道這個“安裝”了什麼代碼包含,也不知道每次更新都添加/更改了什麼。當我的Composer獲取更新時,庫的一位作者可能很容易受到損害,導致我的PHP CLI腳本突然將我的Bitcoin wallet.dat發送到某個遠程服務器,在我的機器上安裝了RAT /特洛伊木馬,甚至更糟。實際上,這可能已經發生了,我再也不明智了。我根本不知道。從邏輯上講,我沒有任何想法。
我自己的代碼庫總計約15,000行。我花了一年多的時間才認真地研究該代碼庫。這是我寫的代碼,我很了解...
我的“ Composer”目錄樹當前位於 超過120,000行代碼 。這是我需要的 crucial 個PHP庫的 minimum 個。我使用的很少,但是它們具有各種依賴性,與我自己的代碼相比,它們總體上會非常膨脹/膨脹。
我怎麼應該“審查”所有這一切?!這根本不會發生。嘗試後不久,我就會“分區”。我什至不知道我將如何通過我自己的代碼的另一輪“審核”,更不用說這是其他人編碼的10倍大的代碼了。
我花了無數個小時試圖學習 Docker,看看是否有辦法以某種方式“封裝”這些不受信任的第三方庫,但這是一場失敗的戰鬥。我發現完全不可能做到這一點,或者就此回答我的許多問題。我什至不認為這是我想像中的方式。