远程登录PHP

时间:2013-07-28 19:45:24

标签: php

我遇到了从其他网站server2访问远程网站server1的代码问题。我在server2内部用来登录的代码是以下代码:

require_once("http://server2.com/access/models/config.php");
if (!securePage($_SERVER['PHP_SELF'])){die();}

//Prevent the user visiting the logged in page if he/she is already logged in
if(isUserLoggedIn()) { header("Location: http://server2.com/access/account.php"); die(); }

在server2上看起来我无法使用require_once(),因为页面没有通过,当我使用include()时,则阻止用户访问不通过。我想我错过了像cURL或路径这样的代码。任何人都可以发布代码从另一个远程服务器1调用我的server2吗?

1 个答案:

答案 0 :(得分:2)

您不能包含/要求来自其他服务器的PHP页面,因为这些php文件正在被解析。如果您的config.php符合最低安全标准,您将最终获得已解析的HTML代码或完全不知道。您必须以不同的方式打开它,但请注意,如果您可以通过远程方式轻松打开config.php,其他人也可以...

我建议不要使用include,而是尝试不同的方法:例如通过第二台服务器上的php脚本返回纯文本,如:

login|logout
ok|error
id_Paul23
pwHash_asdf02302afbd33

如果您有错误的登录尝试,|之后的第二项表示备用响应。您的用户将登录数据发送到服务器1上的脚本,该脚本尝试登录尝试服务器2上的特殊脚本,该脚本返回上面的结果,然后您可以在服务器1上执行任何操作。

或更好:以JSON等标准格式发送/接收数据。您已经拥有PHP的功能:json_encode()json_decode()来解析您的数据。

相关问题