【发布时间】:2018-10-04 05:37:01
【问题描述】:
我需要在我的代码中使用 jwe。我发现了几个 jwe 库(here 和 here),它们也需要安装 phpseclib。但是,我们不允许在我们的工作领域安装 composer。
如何在没有 composer 的情况下引用 jwe 和 phpseclib 库?谢谢。
【问题讨论】:
-
下载文件,将它们全部放在某个特定文件夹中(类似于 vendor,就像 Composer 通常做的那样)并创建您自己的 PSR-4-autoloader(您可以使用 PHP-FIG's example)。您将获得与 Composer 相同的功能,但无需实际使用它。我不得不问,为什么不允许你安装作曲家?这看起来……很傻。
-
Composer 可能会在后台加载其他文件的安全问题。我和 git 上的大多数代码都在使用 Composer 一样无助。
-
这太疯狂了!我对你有感觉。制定该规则的不可能是真正的开发人员。 :-p。 (因为 Composer 对它的作用非常透明)好吧,如果你愿意,你可以用你自己的 PSR-4 加载器来模仿这个功能。不过,您仍然需要手动下载所有包和依赖项,因此您仍然需要做很多工作。
-
我也同情你!我们如何认为 Composer 会产生安全问题?很容易知道已经下载和安装了什么,它提供了与安全主题相关的强大功能(显示未维护/过时的 deps、语义版本控制等)。顺便请注意,我将在今年年底放弃 spomky-labs/jose。请改用github.com/web-token(不再需要phpseclib)。
-
@FlorentMorselli - 我不认为 phpseclib 是每个人说的问题。据我了解,问题在于其 composer.json 的 require 部分中的任何 PHP 库,尽管github.com/web-token 将 phpseclib 作为依赖项删除,但它添加了其他几个依赖项。
标签: php jwt phpseclib autoloader jwe