2013-06-20 158 views
0

我有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; 
    } 
?> 

进入他们我有2个问题:1 。当用户按取消和返回页面后,只有重新启动浏览器后,基本认证表单才会再次显示。 2.发送到site2.com的凭证未经授权进入site2.com。

我做错了吗?

回答

-1

您正在将客户端与服务器混淆。虽然经常混淆。

总之,你不能告诉浏览器使用基本认证在另一个站点上授权。期。

改为使用cookie和跨站点授权。

+0

请举一些例子 –

+0

欢迎您访问:http://google.com/search?q=php+cross+site+authorization –