Je dépends de PHP CLI pour toutes sortes de "logique métier" personnelle et (espérons-le bientôt) professionnelle / critique. (Cela pourrait être n'importe quelle autre langue et le même problème serait toujours présent; je dis simplement ce que j'utilise personnellement pour des raisons de contexte.)
Dans la mesure du possible, je code toujours tout sur le mien. Ce n'est que lorsque cela est absolument nécessaire que je recourt à contrecœur à une bibliothèque tierce. Pour certaines choses, c'est simplement nécessaire. Par exemple, l'analyse des e-mails et d'autres trucs très compliqués comme ça.
Pour gérer ces bibliothèques tierces, j'utilise PHP Composer. C'est un gestionnaire de bibliothèque pour PHP. Il est capable de télécharger des bibliothèques, et leurs dépendances, et de les mettre à jour avec des commandes similaires à d'autres "gestionnaires de paquets". Dans un sens pratique, c'est beaucoup plus agréable que de garder une trace manuelle de cela et de télécharger manuellement les fichiers ZIP et de les décompresser et de traiter toutes sortes de problèmes. Cela évite au moins beaucoup de maux de tête pratiques.
Cependant , le problème de sécurité le plus fondamental persiste: je n'ai aucune idée de ce que cela "installé" le code contient, et je ne sais pas non plus ce qui est ajouté / modifié à chaque mise à jour. L'un des auteurs des bibliothèques aurait facilement pu être compromis un jour lorsque mon compositeur récupère des mises à jour, ce qui oblige mes scripts PHP CLI à envoyer soudainement mon portefeuille Bitcoin.dat à un serveur distant, à installer un RAT / cheval de Troie sur ma machine, ou même pire. En fait, cela aurait déjà pu arriver, et je ne serais pas plus sage. Je n'ai simplement aucune idée. Je n'ai logiquement aucune idée.
Ma propre base de code est d'environ 15 000 lignes au total. Il me faut plus d'un an pour parcourir minutieusement cette base de code. Et c'est du code que j'ai écrit et que je connais intimement ...
Mon arborescence de répertoires "Composer" compte actuellement plus de 120 000 lignes de code . Et c'est pour le nombre minimal de bibliothèques PHP cruciales dont j'ai besoin. J'en utilise très peu, mais ils ont diverses dépendances et ont tendance à être globalement très gonflés / gonflés par rapport à mon propre code.
Comment suis-je censé "contrôler" tout cela?! Cela n'arrivera tout simplement pas. Je "zone" très peu de temps après même avoir essayé. Je ne sais même pas comment je vais passer à travers un autre "tour vétérinaire" de mon propre code - sans parler de celui-ci 10 fois plus grand, codé par d'autres personnes.
Quand les gens disent que c'est un "must" pour "vérifier le code tiers", que veulent-ils dire exactement? Je suis également d'accord pour dire que c'est un "must", mais il y a la réalité embêtante. Je n'aurai tout simplement jamais le temps et l'énergie de faire cela. De plus, je n'ai évidemment pas les moyens de payer quelqu'un d'autre pour le faire.
J'ai passé d'innombrables heures à essayer d'en savoir plus sur Docker et à voir s'il y avait un moyen de le faire "encapsuler" ces bibliothèques tierces non fiables en quelque sorte, mais c'est une bataille perdue. J'ai trouvé qu'il était absolument impossible de faire cela, ou d'avoir répondu à l'une de mes nombreuses questions à ce sujet. Je ne pense même pas que ce soit possible comme je l’imagine.