Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 表单凭据重定向到基本身份验证_Php_Redirect_Basic Authentication - Fatal编程技术网

Php 表单凭据重定向到基本身份验证

Php 表单凭据重定向到基本身份验证,php,redirect,basic-authentication,Php,Redirect,Basic Authentication,我有site1.com有基本的身份验证形式与用户和通行证 site2.com具有基本身份验证。 当用户在site1.com中提交其密码和用户名时,我需要将其重定向到site2.com,而不提示基本身份验证凭据,因为他们只是在site1.com上输入 <?php if($_SESSION['http_logged'] != 1) { } if (!isset($_SERVER['PHP_AUTH_USER'])|| !isset($_SERVER['PHP_AUTH_PW']) )

我有site1.com有基本的身份验证形式与用户和通行证 site2.com具有基本身份验证。 当用户在site1.com中提交其密码和用户名时,我需要将其重定向到site2.com,而不提示基本身份验证凭据,因为他们只是在site1.com上输入

<?php
if($_SESSION['http_logged'] != 1) {

    }
if (!isset($_SERVER['PHP_AUTH_USER'])|| !isset($_SERVER['PHP_AUTH_PW']) ) {    
header('WWW-Authenticate: Basic realm="Good day"');
header('HTTP/1.0 401 Unauthorized');

echo "<html><head><title>401 Authorization Required</title></head><body>";
echo "<h1>Authorization Required</h1>";

$_SESSION['http_logged'] = 1;
exit;

    } else {
$credentials=$_SERVER['PHP_AUTH_USER'].":".$_SERVER['PHP_AUTH_PW']; 
header('Location: site2.com');
header("Authorization: Basic " . base64_encode($credentials));

$_SESSION['http_logged'] = 0;
    }
?>

您将客户机与服务器混淆。但是经常会出现混乱

简而言之,您不能告诉浏览器使用基本身份验证在其他站点上进行授权。期间。

改用cookies和跨站点授权