mah*_*ery 2 php authentication cgi http
我有Plesk服务器,其中PHP作为CGI运行.
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>";
}
Run Code Online (Sandbox Code Playgroud)
上面的脚本应该提示用户名和密码.(是的)输入任何用户/通行证后,应打印出来.(不,它总是要求用户/通行证)
怎么解决?
Mar*_*nes 13
我在我的一台服务器上也遇到了这个问题,以下内容为我解决了这个问题.这显然是由于使用CGI. http://www.besthostratings.com/articles/http-auth-php-cgi.html
的.htaccess:
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
Run Code Online (Sandbox Code Playgroud)
PHP:
list($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']) = explode(':', base64_decode(substr($_SERVER['HTTP_AUTHORIZATION'], 6)));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9787 次 |
| 最近记录: |