首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >远程登录PHP

远程登录PHP
EN

Stack Overflow用户
提问于 2013-07-28 19:45:23
回答 1查看 408关注 0票数 1

我有问题的代码访问远程网站server2从另一个网站server1。我从server2内部使用的登录代码是以下代码:

代码语言:javascript
复制
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吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-28 19:47:07

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

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

代码语言:javascript
复制
login|logout
ok|error
id_Paul23
pwHash_asdf02302afbd33

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

或者更好:以像JSON这样的标准化格式发送/接收数据。在PHP中已经有了解析数据的函数:json_encode()json_decode()

  • 下面是一个关于如何在更大范围内这样做的示例:http://www.jasny.net/articles/simple-single-sign-on-for-php/
  • 本文将帮助您将请求发送到server2:How do I send a POST request with PHP?
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17912144

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档