主页 > 网站技术 > 网站代码 > php对cookie跨域的操作

php对cookie跨域的操作

更新时间:2016-09-18 01:56  来源:电脑技术网  作者:电脑技术网  查看评论
文章目录索引
文章简介
HTML代码部分
php action部分
登录成功后html页面

文章简介

在网站中,经常会碰到一个网站有多个子站或多个域名的网站,不过正常情况下来说,从主站跳转到子站时,就会需要重新登录的情况,本文就以php代码为例,演示cookie在跨域时的一些存读操作。

本文是以一个非常普通简单的用户登录,用户请求到action中,action判断用户名和密码是否正确,然后将用户的相关信息跨域存入到cookie中。

HTML代码部分

  1. <!doctype html> 
  2. <html> 
  3. <head> 
  4. <meta charset="utf-8"> 
  5. <title>无标题文档</title>
  6. </head> 
  7. <body> 
  8. <form name="form1" method="post" action="http://www.pc515.com/cookie.php"> 
  9.   <p> 
  10.     <input type="text" name="act" id="act" value="user_login"> 
  11.   </p> 
  12.   <p> 
  13.     <label for="textfield">用户名</label> 
  14.     <input type="text" name="user_name" id="user_name" value="houhou"> 
  15.   </p> 
  16.   <p> 
  17.     <label for="textfield2">密码</label> 
  18.     <input type="text" name="user_pass" id="user_pass" value="123456"> 
  19.   </p> 
  20.   <p> 
  21.     <input type="submit" name="button" id="button" value="提交"> 
  22.   </p> 
  23. </form> 
  24. </body> 
  25. </html> 

电脑技术网注:用户所请求的php action文件为cookie.php,这个html文件放在网站中,最好要有两个域名(要不然怎么叫跨域)。

php action部分

  1. <?php 
  2. if($_POST['act']=="user_login"){ 
  3.     $user_name = $_POST['houhou']; 
  4.     $user_pass = $_POST['user_pass']; 
  5.          
  6.     header('P3P: CP="CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"');
  7.     if($user_name=="houhou"&& $user_pass=="123456"){ 
  8.         setcookie("pc515_user_info", "hanjunhou", time()+3600, "/", ".pc515.com"); 
  9.         echo "<script>window.location.href = 'http://m.pc515.com/index.html';</script>"; 
  10.     }else{ 
  11.         echo "<script>window.location.href = 'http://m.pc515.com/404.html';</script>"; 
  12.     } 
  13. ?> 

电脑技术网注:以上就是php中的action代码。必须要有header('P3P: CP="CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"'); 这行代码,因为如果 没有这行代码,ie浏览器可能就无法存入到cookie。

cookie存入到pc515.com中,pc515.com所有的子域名均可访问。

登录成功后html页面

  1. <!doctype html> 
  2. <html> 
  3. <head> 
  4. <meta charset="utf-8"> 
  5. <title>无标题文档</title> 
  6. <script src="http://www.pc515.com/js/jquery.cookie.js"></script> 
  7. </head> 
  8. <body> 
  9. <script>document.write($.cookie("pc515_user_info"));</script> 
  10. </body> 
  11. </html> 

电脑技术网注:这是当登录成功后会跳转到m.pc515.com二级域名下的index.html文件,输入结果为houhou

有关cookie跨域 | php | cookie | 的文章推荐