0

我想使用 PHP 登录 McGrawhill 网站,然后将用户重定向到他们的帐户区域。我为我的 UI 创建了一个简单的登录 HTML 页面,这是我的 PHP 部分:

<?php if(!isset($_POST['loginUserName'],$_POST["loginPassword"],$_POST["force"])||$_POST['loginUserName']==''||$_POST["loginPassword"]=='')
    die('{code:"FAIL"}');
if($_POST["force"]=='')
    $_POST["force"] = false;

$data_string = "foce=".$_POST["force"]."&loginUserName=".$_POST["loginUserName"]."&loginPassword=".$_POST["loginPassword"];
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,"http://connected.mcgraw-hill.com/connected/login.do");
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS,$data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
die($result);

?>

当我将参数发送到网站时,它给了我两个 JSON 编码的参数,第一个:登录状态,第二个是用户登录成功后应该去哪里的 uri。当我发送用户/通行证时它可以正常工作并且我可以获得重定向 uri,但是当我想重定向用户时,它会将我转发到第一个 McGrawhill 登录页面,而我想登录到用户帐户区域。有谁能够帮我 ?

4

1 回答 1

1

当您登录时,远程服务器会向您发送一个会话 cookie,您应该重用它以访问需要用户登录的私人页面。当有人使用浏览器登录时,这工作正常,会话 cookie 被设置并然后被重用于访问那些私有页面。

但是,当您使用 PHP 脚本登录时,实际上是您的 PHP 脚本获取了会话 cookie(而不是脚本的用户),这意味着如果您将用户重定向到私人页面,它将无法工作因为他们没有会话 cookie。

我认为没有办法从 PHP 脚本设置他们的会话 cookie,所以你的想法行不通。

于 2013-08-25T14:37:27.497 回答