我有问题的代码访问远程网站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或path这样的代码。有人可以发布代码从另一个远程server2调用我的server1吗?
发布于 2013-07-28 19:47:07
您不能包含/要求来自另一个服务器的PHP页面,因为这些php-文件正在被解析。如果您的config.php符合最低安全标准,您最终将得到解析的HTML代码或非HTML代码。您必须以不同的方式打开它,但是要知道,如果您可以轻松地远程打开config.php,其他人也可以.
我建议不要使用include,而是尝试一种不同的方法:例如,通过第二个服务器上的php脚本返回纯文本,例如:
login|logout
ok|error
id_Paul23
pwHash_asdf02302afbd33|之后的第二个项表示一个可选的响应,如果您有一个错误登录尝试。您的用户将登录-数据发送到服务器1上的脚本,服务器1尝试登录-在服务器2上尝试该特殊脚本,该脚本返回上面的结果,然后您可以在服务器1上做您想做的任何事情。
或者更好:以像JSON这样的标准化格式发送/接收数据。在PHP中已经有了解析数据的函数:json_encode()和json_decode()。
https://stackoverflow.com/questions/17912144
复制相似问题