远程PHP的安全方式包括?

时间:2011-03-02 19:55:07

标签: php

我正在寻找一种将文件从我的服务器包含到另一台服务器的安全方式。

任何帮助或片段都会令人惊叹。

谢谢:)

编辑:我需要该文件来执行操作,因此“get_file_contents”对我没什么好处。感谢

6 个答案:

答案 0 :(得分:3)

不要这样做。这是一个巨大的性能和可靠性缺点(您的站点启动取决于两个服务器的可用性而不是一个)。

如果你真的需要这个,那么在include中传递一个秘密令牌可能是一个让它中途安全的想法。

答案 1 :(得分:2)

为避免在执行期间(可能)出现与从远程服务器检索文件相关的非常糟糕的性能问题,我建议您每天检索一次所需的文件并在本地缓存它们。

您只需设置一个cron作业,然后使用scp从远程服务器复制它

答案 2 :(得分:2)

安全的方式?

不要这样做。如果您控制两台服务器,请在两者上放置相同的内容,并使用定期rsync或其他内容将它们连接在一起。

答案 3 :(得分:1)

你可以使用卷曲。

$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $your_page);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 1);
curl_setopt($curl, CURLOPT_CAINFO, $your_certificate);
curl_exec($curl);
curl_close($curl);

请参阅:http://www.php.net/manual/en/function.curl-setopt.php

答案 4 :(得分:0)

可能使用eval(file_get_contents(...));,但这会尖叫糟糕的主意

是否有任何理由不能在同一台服务器上托管可执行文件,或者将文件提交给要执行的服务器?

答案 5 :(得分:0)

更好的解决方案是建立一个可以与其他人的网站“交谈”的网络服务或类似的东西。这样,他们就不会“哄骗”您的代码,导致糟糕的性能和可能的安全问题。

但是,期望其他人能够构建可以与网络服务交谈的代码并不总是现实的...... SO:

话虽这么说,我的公司为他们的网站提供客户“webforms”....基本上是一个简单的表单页面,它是自动生成的并且“与我们的应用程序对话”。用户访问我们客户的网站,将信息输入我们网站上托管的表格(但嵌入他们的网站),并在他们点击提交时将数据发布到我们的应用程序。我们选择使用iFrames(YUCK!)来使其工作,因为我们的大多数客户在使用PHP时都处理基于HTML或.net的服务器。它并不理想,但效果很好。并且,我们知道无论是谁运行它,3行代码都可以在线获取webform。大多数人都可以处理。您将看到SurveyGizmo等行业领导者采用的类似解决方案