Есть ли способ перенаправить PHP на новую страницу и передать HTTP-AUTH?Использовать HTTP-AUTH для перенаправления?
Я использую локон, в качестве второго примера здесь: Sending basic authentication information via form
К сожалению, когда я делаю это, фактический URL (как показано в строке браузера URL) остается URL инициирующего РНР, а не цели что я просматриваю.
Вот что у меня до сих пор:
<?php
$user = "xyz";
$pass = "abc";
$userpass = $user . ":" . $pass;
$url = "http://website/directory/";
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_USERPWD, $userpass);
$result = curl_exec($ch);
$httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if($httpcode == 200){
header("Authorization: Basic " . base64_encode($userpass));
echo $result;
}else{
header("Location: http://website/login.php");
}
?>
Я также попытался заменить задний конец выше:
if($httpcode == 200){
header("Authorization: Basic " . base64_encode($userpass));
header("Location: http://website/directory/");
}else{
header("Location: http://website/login.php");
}
Но это не удается; он перенаправляет на http://website.xyz/directory, но он не проходит в user/pass, и мне присылают логин с сервера по прибытии.
Технически следующие работы. Тем не менее, я бы предпочел более изящное решение, чем прохождение пользователя/пасс внутри HREF:
header("Location: http://" . $userpass . "website/directory/");
Я тоже думал об этом. По-видимому, он не передает HTTP-AUTH на новую страницу при перенаправлении; Я все еще запрашиваю веб-сервер для пользователя/передаю, когда вы попадаете в новое место. – ltwally
Вы уверены, что веб-сайт, на который вы перенаправляете, принимает ваши учетные данные? Я тестировал его на localhost с двумя разными папками, и он работал – hek2mgl
. Я смотрю на свой код выше и заменяю «echo $ result;» с "header ('Location: http: // website/directory')", вот что я пробовал. Это не удалось. По прибытии в http: // website/directory/мне было предложено приглашение для входа. – ltwally