在Domain.com上,我有一个用户处理程序,可以创建一个会话来告诉他我已登录。
所以在每个页面上我只是这样做:
<?php
require("http://www.domain.com/handlers/user_handler.php");
if ($user_data['loggedIn'] == 1){
echo "You are logged in!";};
?>
您可以看到我是否已登录我收到一条消息称您已登录。
但是我想知道如果我登录到第一个网站,它将在另一个网站上告诉我们。
例如在Domain2.com上。如果我登录Domain.com,我可以显示一条消息您已登录domain2.com上的domain.com。
我知道我不会在新域名中使用上面相同的代码,但检查该会话是否仍在主域名网站上运行的最佳方法是什么。
如果我没有澄清,请告诉我。
谢谢!
答案 0 :(得分:0)
您可以创建一个名为user_logged_in.php
的不同脚本,该脚本将使用用户ID作为参数,如果该用户已登录则输出1
,否则输出0
。然后,您可以从任何域调用该脚本。
确保通话安全。也许还包括一个必须具有特定值的密钥才能使脚本响应,或者将调用者的IP检查为domain2.com的IP。
例如,您可以通过以下URL访问脚本:
http://www.domain.com/handlers/user_logged_in.php?id=48&key=SECRET_KEY
然后你会检查user_logged_in.php
$_REQUEST['key']
是否确实等于SECRET_KEY
(虽然这样做更安全),如果是,请检查数据库以查看用户标识为48
的是否已登录。
答案 1 :(得分:0)
您在Domain.com上的脚本可能看起来像(假装它叫做login_check.php):
<?php
require("http://www.domain.com/handlers/user_handler.php");
if ($user_data['loggedIn'] == 1) echo "true";
else echo "false";
?>
然后,在Domain2.com上,您将拥有第二个脚本:
<?php
$loggedIn = file_get_contents("domain.com/login_check.php");
if ($loggedIn == "true") {
// the user is logged in on Domain.com
} else {
// the user is not logged in
}
?>
希望这有帮助