我对目前正在使用的 Apache Basic Auth 有 2 个问题。我有一个网站,在执行某个操作后,该网站将生成一个 Basic Auth 用户名和密码,供用户用来访问服务。
目前,一切运行正常 - 但网站流量正在迅速增加,因此现在基本身份验证文件中有许多条目。
问题 1) apache 可以处理的基本身份验证用户数量是否有限制?
问题 2)有没有更好的方法来管理基本身份验证用户?或者某种类型的用户名/密码访问
谢谢
答案1
apache 可以处理的基本身份验证用户数量是否有限制?
不, 您可以拥有任意数量的值,.htpasswd
但随着时间的推移,由于高磁盘 I/O 读取,您的服务器性能将受到影响。
有没有更好的方法来管理基本身份验证用户?
是的,使用 mysql db 存储用户/密码并使用以下方式访问它修改模型。
或者,您可以使用 php 来“模拟”HTTP 身份验证并使用登录信息查询数据库,即:
<?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 {
//place the query logic here
echo "<p>Hello {$_SERVER['PHP_AUTH_USER']}.</p>";
echo "<p>You entered {$_SERVER['PHP_AUTH_PW']} as your password.</p>";
}
?>