Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使CER证书只能由Apache2 Web服务器上的CURL访问_Php_Apache_Ssl_Curl_Certificate - Fatal编程技术网

Php 使CER证书只能由Apache2 Web服务器上的CURL访问

Php 使CER证书只能由Apache2 Web服务器上的CURL访问,php,apache,ssl,curl,certificate,Php,Apache,Ssl,Curl,Certificate,我创建了一个PHP脚本,使用CURL自动验证到需要客户端证书的网站中 证书始终位于我的apache web服务器上,但是可以通过键入证书的链接来访问它。例如:www.testdomain.com/cert.cer(您可以通过键入链接下载) 此类证书必须是私有的,并且不能仅通过键入链接访问。只需要进行身份验证,这样PHP脚本就可以执行操作 我使用的是CURL、PHP和Apache2服务器。 如何阻止CER证书,以便只有脚本才能访问它? 我已经尝试编辑权限770(无匿名用户),但脚本无法访问 请帮帮

我创建了一个PHP脚本,使用CURL自动验证到需要客户端证书的网站中

证书始终位于我的apache web服务器上,但是可以通过键入证书的链接来访问它。例如:www.testdomain.com/cert.cer(您可以通过键入链接下载)

此类证书必须是私有的,并且不能仅通过键入链接访问。只需要进行身份验证,这样PHP脚本就可以执行操作

我使用的是CURL、PHP和Apache2服务器。 如何阻止CER证书,以便只有脚本才能访问它? 我已经尝试编辑权限770(无匿名用户),但脚本无法访问

请帮帮我!任何建议都将不胜感激。

是的,很有效! 我刚刚使用了完整的路径

curl_setopt($ch, CURLOPT_SSLCERT, "/home/ubuntu/cert.cer");
curl_setopt($ch, CURLOPT_SSLKEY, "/home/ubuntu/cert.key");
我没有想到,事实上php可以访问所有服务器。 谢谢

是的,它很有效! 我刚刚使用了完整的路径

curl_setopt($ch, CURLOPT_SSLCERT, "/home/ubuntu/cert.cer");
curl_setopt($ch, CURLOPT_SSLKEY, "/home/ubuntu/cert.key");
我没有想到,事实上php可以访问所有服务器。
谢谢

把它放在web根目录之外。正如Mike所说,php可以访问apache提供文件的文档根目录之外的文件。这将阻止apache查看/服务该文件,但php仍然能够将其发送给认证。当将CURL指向文件时,您只需确保使用完整路径。虽然不是完全重复,但这与将其放在web根目录之外的某个位置的原理相同。正如Mike所说,php可以访问apache提供文件的文档根目录之外的文件。这将阻止apache查看/服务该文件,但php仍然能够将其发送给认证。当将CURL指向文件时,您只需要确保使用完整路径