gpt4 book ai didi

php - Jquery跨域登录与PHP session

转载 作者:行者123 更新时间:2023-11-29 13:36:40 25 4
gpt4 key购买 nike

我有两个网站

  • www.example.com
  • www.m.example.com

所有 PHP 脚本都基于第一个域。我需要使用第一个域 PHP 脚本从移动站点登录用户。我需要在域上进行 session 。我怎样才能做到这一点?

PHP 文件:

<?php
session_start();

$username = $_POST['username'];
$password = md5($_POST['password']);

//DB check

$_SESSION['log'] = $dbarray;
?>

第二个域上的脚本

$.post('../scripts/login.php',{username:username,password:password},function(data){
//Success
});

最佳答案

这两个域是否运行在同一服务器和 Apache+PHP 堆栈上?在这种情况下,您只需设置.example.com的cookie即可。而不是www.example.com (默认)。 Session数据存储在同一台服务器上,因此Session可以共享。

<?php
ini_set('session.cookie_domain', '.example.com');

session_start();
...

你可以看看这个答案Sharing php Session ($_SESSION) across multiple domain

对于JS端,由于不允许跨域ajax。我建议使用<form>元素,指定 redirect参数,以便您的登录脚本(login.php)可以在登录后将用户重定向回正确的位置。 (您还需要在login.php中添加代码来处理重定向)

<form id="loginForm" action="http://www.example.com/script/login.php" method="post">
<input type="hidden" name="username" value="..."/>
<input type="hidden" name="password" value="..."/>
<input type="hidden" name="redirect" value="http://www.m.example.com/" />
</form>

<script>$("#loginForm").submit();</script>

关于php - Jquery跨域登录与PHP session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18649910/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com