例如,當我登錄到我的路由器的固件時,我會收到用戶名和密碼的提示框,這是如何完成的?據我所知,JavaScript的prompt()
只返回一個值..我知道它必須是服務器端,因爲該頁面繼續「加載」,直到我關閉框。我也無法在我的瀏覽器中切換標籤,直到盒子關閉。服務器端登錄提示框
是否有可能使用PHP來做這樣的事情?這是如何完成的?
在此先感謝
例如,當我登錄到我的路由器的固件時,我會收到用戶名和密碼的提示框,這是如何完成的?據我所知,JavaScript的prompt()
只返回一個值..我知道它必須是服務器端,因爲該頁面繼續「加載」,直到我關閉框。我也無法在我的瀏覽器中切換標籤,直到盒子關閉。服務器端登錄提示框
是否有可能使用PHP來做這樣的事情?這是如何完成的?
在此先感謝
其使用基本HTTP認證,爲完成這件事您需要創建用戶/密碼文件並告訴服務器文件夾需要使用基本HTTP認證。這可以在服務器配置或在的.htaccess
隨着Apache
作爲Web服務器,你可以做到這一點與htaccess password protection
看看這個頁面中的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']
變量。
但是,怎麼樣!?怎麼樣? –