检查用户是否从其他域登录

Check if user is logged in from different domain

本文关键字:登录 其他 用户 是否 检查      更新时间:2023-09-26

感谢stackoverflow,我开始了我的小项目,但我再次需要一些建议。我想检查用户是否已登录 domain1.com 并在域 2 上返回消息。代码还有很多内容。下面我包括了一个基本的例子。

索引.php 在 http://domain2.com 上

<script type="text/javascript" src="http://domain1.com/test.php?js"></script>

测试.php正在 http://domain1.com。

<?php
if (isset($_GET['js'])){
header("Content-type:text/javascript");
?>
function doAjax(){
$.getJSON("http://domain1.com/index.php/home/callback.php?name=name&callback=?",
function(message) {
alert("Data Saved");
});
}
document.write('<button onclick="doAjax();">Submit</button>');
<?php } ?>
<?php exit; } ?>

回调.php http://domain1.com。这是我想检查用户是否已登录的地方。如果用户已登录,则文件将被写入,如果没有,我想向 domain2.com 发送一条消息要求登录。

<?php
$callback = $_GET['callback'];
$name = $_GET['name'];
$myFile = "txt/tester.txt";
$fh = fopen($myFile, 'a') or die("can't open file");
fwrite($fh, $name);
fclose($fh);
header("Content-Type: application/javascript");
?>
<?php echo $callback; ?>("Message from the server");

最后一部分我从上一个问题中得到。 <?php echo $callback; ?>("Message from the server"); 如果这是发给域 2 的消息,我该如何称呼它?

因此,基本上,域 2 期望域 1 上的回调.php 中的 JSONP 对象。要在 JSON 对象中格式化消息,请将消息括在关联数组中(例如:$msg = array('message' => 'This is the callback message'); ,然后使用 echo $_GET['callback'].'('.json_encode($msg).')'; 将其传递回域 2 此外,将header()声明中的Content-Type设置为 application/json