PHP Curl身份验证,然后重定向
我正在做一件非常简单的事情,我想首先通过对“”进行curl调用来验证用户,如果用户是可信的,则将用户重定向到该网站仪表板,即“” 现在,身份验证部分很好,但是当我通过执行header('location…)重定向用户时,它只会将其带到登录页面,这意味着会话不在那里, 下面是我使用的代码PHP Curl身份验证,然后重定向,php,authentication,redirect,curl,Php,Authentication,Redirect,Curl,我正在做一件非常简单的事情,我想首先通过对“”进行curl调用来验证用户,如果用户是可信的,则将用户重定向到该网站仪表板,即“” 现在,身份验证部分很好,但是当我通过执行header('location…)重定向用户时,它只会将其带到登录页面,这意味着会话不在那里, 下面是我使用的代码 $sessionStarted = session_start(); $username= $_POST['Username']; $password= $_POST['Pass']; $data = arra
$sessionStarted = session_start();
$username= $_POST['Username'];
$password= $_POST['Pass'];
$data = array("username" => "$username", "password" => "$password");
$data_string = json_encode($data);
$cookie_file_path = dirname(__FILE__)."/cookie_.txt";
$ch = curl_init('https://www.mywebsite.com/login');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file_path);
curl_setopt($ch, CURLOPT_COOKIEFILE,$cookie_file_path);
$strCookie = 'PHPSESSID=' . $_COOKIE[ session_name() ]. '; path=/';
curl_setopt( $curl, CURLOPT_COOKIE, $strCookie );
curl_setopt($ch, CURLOPT_COOKIESESSION, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Content-Length: ' . strlen($data_string)
)
);
$result = curl_exec($ch);
$decoded = json_decode($result);
if (isset($decoded->result) && $decoded->result == 'ok')
{
header("Location: https://www.mywebsite.com/dashboard");
exit;
}
else
{
header("Location: http://www.mywebsite.com/?login=fsfailed" );
exit;
}
你能给我们看看你的json opUpdate吗:经过大量搜索,我知道cookie没有通过的问题,因为当你使用“Header(Location…”时,你设置的cookie没有通过,我仍然没有解决cookie问题Update2:通过提供域(第5个参数)来解决它在setCookie函数中,显然我的Cookie被破坏了,因为我在一个域中设置它们并重定向到另一个域。你能给我们看一下你的json opUpdate吗:经过多次搜索,我知道Cookie没有遇到问题,因为当你使用“Header(Location…”时您设置的cookie没有通过,我仍然没有解决cookie问题Update2:通过在setCookie函数中提供域(第5个参数)来解决它,显然我的cookie被破坏了,因为我在一个域中设置它们并重定向到另一个域。