我的问题是在我的文件结构中查找我的公钥和私钥集。我对这个概念很不称道,所以请耐心等待。
目前,要打开我的私钥和公钥对,我使用以下表达式:
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
?
答案 0 :(得分:1)
您应该做的第一件事是移动Web服务器文档根目录的私钥OUTSIDE。 “私钥”一词的性质告诉您,您不希望有人能够访问这些密钥!将它们置于Web服务器的docroot下会不必要地暴露它们 - 即使你已经制定了规则来保护它们(例如,htaccess文件),根本没有理由把它们放在一个位置 - 按照定义 - 默认是可以访问的
根据您最终要部署的分布,可能会有一个标准位置来部署这样的分布;如果没有,我建议您定义自己的政策,例如将它们置于/etc/opencart/keys
。
了解/定义策略后,您将拥有一条可以使用的绝对路径,解决原始问题。