2013-08-21 68 views
1

例如,當我登錄到我的路由器的固件時,我會收到用戶名和密碼的提示框,這是如何完成的?據我所知,JavaScript的prompt()只返回一個值..我知道它必須是服務器端,因爲該頁面繼續「加載」,直到我關閉框。我也無法在我的瀏覽器中切換標籤,直到盒子關閉。服務器端登錄提示框

是否有可能使用PHP來做這樣的事情?這是如何完成的?

在此先感謝

回答

3

其使用基本HTTP認證,爲完成這件事您需要創建用戶/密碼文件並告訴服務器文件夾需要使用基本HTTP認證。這可以在服務器配置或在的.htaccess

+0

但是,怎麼樣!?怎麼樣? –

2

看看這個頁面中的PHP文件來完成 - HTTP authentication with PHP

下面是示例代碼,他們給:

<?php 
if (!isset($_SERVER['PHP_AUTH_USER'])) { 
    header('WWW-Authenticate: Basic realm="My Realm"'); 
    header('HTTP/1.0 401 Unauthorized'); 
    echo 'Text to send if user hits Cancel button'; 
    exit; 
} else { 
    echo "<p>Hello {$_SERVER['PHP_AUTH_USER']}.</p>"; 
    echo "<p>You entered {$_SERVER['PHP_AUTH_PW']} as your password.</p>"; 
} 
?> 

基本上,您只需發送正確的標題,客戶端的瀏覽器將負責使用正確的字段呈現本地彈出窗口。

一旦用戶提交了詳細信息,您的代碼就可以驗證登錄,但是您想要使用$_SERVER['PHP_AUTH_USER']$_SERVER['PHP_AUTH_PW']變量。