2013-06-20 155 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 –