Http认证,取消循环
Http Authentication , Cancel Loop
<?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>";
}
?>
我正在使用此代码,它只要求用户名和密码进行身份验证,但问题是当用户单击取消按钮时,它应该一次又一次地给出身份验证提示,直到没有提供正确的用户名和密码。
假设您的客户都有 JavaScript.
,可以实施一个简单的修复
而不是echo 'Text to send if user hits Cancel button';
:
echo '<script>window.location.reload();</script>';
我觉得
header("Location: http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']."?".$_SERVER['QUERY_STRING']);
exit();
会在 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>";
}
?>
我正在使用此代码,它只要求用户名和密码进行身份验证,但问题是当用户单击取消按钮时,它应该一次又一次地给出身份验证提示,直到没有提供正确的用户名和密码。
假设您的客户都有 JavaScript.
,可以实施一个简单的修复而不是echo 'Text to send if user hits Cancel button';
:
echo '<script>window.location.reload();</script>';
我觉得
header("Location: http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']."?".$_SERVER['QUERY_STRING']);
exit();
会在 php
工作