私钥和公钥的fopen()路径

时间:2014-10-27 06:50:29

标签: php fopen

我的问题是在我的文件结构中查找我的公钥和私钥集。我对这个概念很不称道,所以请耐心等待。

目前,要打开我的私钥和公钥对,我使用以下表达式:

fopen(dirname(__FILE__) . '/rsa_private_key.pem', 'r');

dirname(__FILE__)指向/vagrant/opencart/upload/catalog/controller/payment,这是执行此脚本的地方。因此,私钥/公钥对与打开它的脚本位于同一文件夹中。

我正在进行一些文件重构,并在路径/vagrant/opencart/upload/keys下创建了一个新文件夹,其中我的私钥和公钥都存在。

但是,我不太确定如何指出我的fopen()。由于我目前正在我的本地机器上开发,我现在可以使用绝对路径,但很快就会在不同的服务器上,所以我不能永远使用绝对路径。

我的问题是,如何将fopen()指向此路径:/vagrant/opencart/upload/keys

1 个答案:

答案 0 :(得分:1)

您应该做的第一件事是移动Web服务器文档根目录的私钥OUTSIDE。 “私钥”一词的性质告诉您,您不希望有人能够访问这些密钥!将它们置于Web服务器的docroot下会不必要地暴露它们 - 即使你已经制定了规则来保护它们(例如,htaccess文件),根本没有理由把它们放在一个位置 - 按照定义 - 默认是可以访问的

根据您最终要部署的分布,可能会有一个标准位置来部署这样的分布;如果没有,我建议您定义自己的政策,例如将它们置于/etc/opencart/keys

之下

了解/定义策略后,您将拥有一条可以使用的绝对路径,解决原始问题。