Есть так же подобный вариант с помощью HTTP-заголовков:

Код:
<?php
if(!isset($_SERVER["PHP_AUTH_USER"], $_SERVER["PHP_AUTH_PW"]) && ($_SERVER["PHP_AUTH_USER"] === "admin") && ($_SERVER["PHP_AUTH_PW"] == "admin")){
header("WWW-Authenticate: Basic realm=\"TOP SECRET ZONE\"");
header("HTTP/1.1 401 Unauthorized");
exit;
}else{
//Основной код скрипта
}
?>