通过调用来自其他站点的请求在网站上设置PHP会话变量

时间:2014-06-29 06:47:28

标签: php session curl

是否有可能在php网站上设置会话变量,例如B.com,通过从另一个php网站调用CURL请求,例如A.com?

这是一个代码,它将发送请求从A.com发送到网站B.com/extAuth.php

<?php
session_start();
$url = 'http://B.com/extAuth.php';
$params = array(
  'login' => 'login',
  'pwd' => 'pass'
);

$ch = curl_init();
$curlConfig = array(
   CURLOPT_URL            => $url,
   CURLOPT_POST           => true,
   CURLOPT_RETURNTRANSFER => true,
   CURLOPT_POSTFIELDS     => $params,
   CURLOPT_FOLLOWLOCATION => true,
   CURLOPT_COOKIESESSION => true,
   CURLOPT_COOKIEJAR => 'cookie.txt',
);
curl_setopt_array($ch, $curlConfig);
$result = curl_exec($ch);

curl_close($ch);
?>

extAuth.php上的脚本只是设置了一个SESSION ['login'] = true。 但是当我从CURL发送此请求后打开网站B.com时,SESSION ['login']未定义。

<?php
session_start();
if(isset($_POST['login'])&&($_POST['pwd'])){
   //aditionall logic here
   $_SESSION['login'] = true;
}
?>

但是当我尝试通过放置在A.com网站上的普通html表单发送此请求时,会设置SESSION变量。这是A.com网站上的表格代码。

<form action="http:B.com/extAuth.php" method="POST">
    <input type="text" name="login" id="login" value=""></td>
    <input type="password" autocomplete="off" name="pwd" id="pwd" value="">
    <input class="btn" id="btn_login" value="Login" type="submit">
</form>

有人知道我做错了吗?

0 个答案:

没有答案