我对php编码有点陌生。我正在尝试阅读一本涵盖 HTTP 身份验证主题的书中的一章。
但是,当我在本地 WAMP 服务器上运行此代码时,即使我已正确填写表格,该框仍会再次弹出。
<?php
$username = 'admin';
$password = 'letmein';
if (isset($_SERVER['PHP_AUTH_USER']) &&
isset($_SERVER['PHP_AUTH_PW']))
{
if ($_SERVER['PHP_AUTH_USER'] == $username &&
$_SERVER['PHP_AUTH_PW'] == $password)
echo "You are now logged in";
else die("Invalid username / password combination");
}
else
{
header('WWW-Authenticate: Basic realm="Restricted Section');
header('HTTP/1.0 401 Unauthorized');
die ("Please enter your username and password");
}
?>
那么我应该怎么做才能让浏览器接受我的答案呢?
书中有提示:
现代浏览器的安全性变得越来越严格,并且已经到了一个地步,除非您更改浏览器的设置,否则您可能无法轻松地在本地文件系统上测试 HTTP 身份验证。这是为了保护您免受可能从 Internet 下载的潜在恶意文件的侵害(因为本地文件通常会带来更大的安全风险)。相反,如果您希望编写使用这种身份验证类型的代码,这是您可能更喜欢使用 Internet 连接在远程服务器上执行测试的一个实例。
那么如何在远程服务器上测试我的 php 脚本呢?或者我可以更改自己的设置以允许我使用此功能吗?