Vì một số lý do tôi không thể nhận được Xác thực cơ bản để hoạt động bằng cách sử dụng PHP trên máy chủ của mình. Tôi đang sử dụng mã chính xác từ trang hướng dẫn sử dụng:Xác thực cơ bản bằng PHP cung cấp vòng lặp vô tận
<?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>";
}
?>
Tuy nhiên, khi tôi chạy nó, tôi không bao giờ có thể vượt quá lời nhắc.
Nếu tôi đặt cùng mã này trên máy chủ khác của tôi, nó hoạt động tốt.
Có ai biết điều gì có thể gây ra điều này không? Cả hai máy chủ đều là các ngăn xếp WAMP và Apache đã bật auth_basic_module. Các tệp PHP.ini thực tế giống hệt nhau.
Tôi liếc nhìn các tiêu đề và sau khi tôi nhập tên người dùng/mật khẩu của mình, có tiêu đề "Ủy quyền: Cơ bản XXXXXX" đang được gửi.
thử 'diff' trên hai tệp' php.ini', chỉ trong trường hợp bạn đang thiếu thứ gì đó. Bạn cũng có thể so sánh apache confs quá. – ocodo
Tham khảo: http://www.php.net/manual/en/features.http-auth.php –