使用Curl with PHP创建经典ASP会话变量

时间:2016-10-04 10:34:53

标签: php session curl asp-classic

我创建了一个简单的经典ASP脚本,它将从帖子中获取用户名和密码并创建会话变量。如果我使用标准的html表单并重定向到此页面,此脚本可以正常工作。我有一个php网站,我想在用户登录php网站时将用户登录到两个网站。为此,我想在php中为登录脚本添加一个curl请求。这会将密码和用户名发送到脚本并创建会话变量。我从curl请求得到的响应表明它有效,但它似乎没有保存会话。

这是卷曲请求。

$postinfo = "username=".$username."&password=".$password;
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postinfo);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_VERBOSE, TRUE);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,  2);
$result = curl_exec($ch);
curl_close($ch);
var_dump($result);

我不想粘贴完整的asp脚本,但这大致是它的工作原理。当我使用html表单登录时,会话仍然存在,所以我知道它正常工作。当curl请求完成执行时,似乎填充了会话变量,但是当我访问另一个页面时,会话不存在。

'do some stuff with the db to check if the credentials work.
if success = true then
    Session("userid") = userid
    Session("login") = "good"
    Response.Write("Login successful - " & Session("userid"))
else 
    Response.Write("Login Failed")
end if

当我运行curl请求时,响应为“Login successful - 123”。这意味着不仅登录工作正常,而且还设置会话值。问题是,当我尝试访问asp站点时,它不会检测到任何会话数据。

我已确认所有链接都指向https://www.website.com。两个网站都在相同的域名下,只有2个不同的子目录/语言。它们都在同一台服务器上运行。

0 个答案:

没有答案