入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

php实现单点登录demo

创建时间:2016-11-16 投稿人: 浏览次数:105

1.准备两个虚拟域名

127.0.0.1  www.openpoor.com

127.0.0.1  www.myspace.com

2.在openpoor的根目录下创建以下文件

index.PHP

[php] view plain copy
<?php  
session_start();  
  
?>  
<!DOCTYPE html>  
<html>  
<head>  
<meta charset="UTF-8"/>  
<title>sync login</title>  
</head>  
<body>  
  
<?php if(empty($_SESSION["username"])):?>  
hello,游客;请先<a href="login.php">登录</a><a href="http://www.myspace.com/index.php">进入空间</a>  
<?php else: ?>  
hello,<?php echo $_SESSION["username"]; ?>;<a href="http://www.myspace.com/index.php">进入空间</a>  
<?php endif; ?>  
  <a href="http://www.openpoor.com/index.php">home</a>  
</body>  
</html>  
login.php

<?php  
session_start();  
if(!empty($_POST["username"])){  
  require "../Des.php";  
  $_SESSION["username"] = $_POST["username"];  
  $redirect = "http://www.openpoor.com/index.php";  
  header("Location:http://www.openpoor.com/sync.php?redirect=".urlencode($redirect)."&code=".Des::encrypt($_POST["username"],"openpoor"));exit;  
}  
?>  
<!DOCTYPE html>  
<html>  
<head>  
<meta charset="UTF-8"/>  
<title>sync login</title>  
</head>  
<body>  
<form action="" method="post">  
  <input type="text" name="username" placeholder="用户名"/>  
  <input type="text" name="password" placeholder="密码"/>  
  <input type="submit" value="登录"/>  
</form>  
</body>  
</html>  
sync.php

<?php  
$redirect = empty($_GET["redirect"]) ? "www.openpoor.com" : $_GET["redirect"];  
if(empty($_GET["code"])){    
  header("Loaction:http://".urldecode($redirect));  
  exit;  
}  
  
$apps = array(  
  "www.myspace.com/slogin.php"  
);  
?>  
<!DOCTYPE html>  
<html>  
<head>  
<meta charset="UTF-8"/>  
<?php foreach($apps as $v): ?>  
<script type="text/javascript" src="http://<?php echo $v."?code=".$_GET["code"] ?>"></script>  
<?php endforeach; ?>  
<title>passport</title>  
</head>  
<body>  
<script type="text/javascript">  
window.onload=function(){  
  location.replace("<?php echo $redirect; ?>");  
}  
</script>  
</body>  
</html>  
3.在myspace的根目录下创建如下文件

slogin文件 完成session的设置

  1. <?php  
  2. session_start();  
  3. header("Content-Type:text/javascript; charset=utf-8");  
  4. if(!empty($_GET["code"])){  
  5.   require "../Des.php";  
  6.   $username = Des::decrypt($_GET["code"],"openpoor");  
  7.   if(!empty($username)){  
  8.     header("P3P: CP="CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"");  
  9.     $_SESSION["username"] = $username;  
  10.   }  
  11. }  
  12. ?>  
index.php

[php] view plain copy
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
  • 上一篇:没有了
  • 下一篇:没有了
未上传头像