2013-07-28 124 views
1

我在訪問遠程網站server2從另一個網站的代碼有問題。我從服務器2中用來登錄的代碼是下面的代碼:遠程登錄PHP

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

+0

另外刪除了 –

+0

要求,require_once是包含的變體。有些例子解釋了當包含遠程資源時會發生什麼:http://www.php.net/manual/en/function.include.php – Paul

+1

它看起來像Zim84回答說,是啊現在想知道我有問題 –

回答

2

您不能在其他服務器中包含/需要PHP頁面,因爲這些php文件正在被解析。如果您的config.php符合最低安全標準,您將最終得到解析的HTML代碼,或者根本沒有。您必須以不同方式打開它,但請注意,如果您可以通過一種簡單的方式遠程打開config.php,其他人也可以...

我建議不要使用include,而是嘗試不同的方法:例如通過這第二個服務器上的PHP腳本,將返回純文本,如:

login|logout 
ok|error 
id_Paul23 
pwHash_asdf02302afbd33 

如果你有一個erroneus登錄嘗試的|之後的第二項表示替代響應。您的用戶將登錄數據發送到服務器1上的腳本,該腳本嘗試登錄 - 嘗試使用服務器2上的特殊腳本,該腳本返回上述結果,然後可以在服務器1上執行任何操作。

或更好:以JSON等標準格式發送/接收數據。您已在PHP中使用這些功能:json_encode()json_decode()解析您的數據。

+0

什麼你建議我試過$ url,我已經試過cURL,你有沒有可能有用的代碼? –

+0

我已經添加了一些建議。 – Zim84