2013-08-21 2 views
1

Когда я регистрирую прошивку своего маршрутизатора, например, я получаю окно подсказки для имени пользователя и пароля. Как это делается? Насколько я могу судить, JavaScript prompt() возвращает только одно значение. Я знаю, что он должен быть серверным, потому что страница продолжает «загружать», пока я не закрою окно. Я также не могу переключать вкладки в своем браузере, пока ящик не будет закрыт.Окно подсказки для входа на серверный сервер

Возможно ли сделать что-то подобное с помощью PHP? Как это делается?

Заранее спасибо

ответ

3

его сделали с помощью обычной проверки подлинности HTTP, для этого вам необходимо создать файл user/password и сообщить серверу, что папке необходимо использовать базовую проверку подлинности 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'].

Смежные вопросы