如何通过mod_autoindex禁止重复检查mod_auth_basic?

Apache 2.4中 ,当在一个目录上同时使用mod_autoindexmod_auth_basic ,该目录的索引会导致mod_auth_basic执行密码哈希,并为目录中的每个文件/子目录从头开始查找一次。

如果使用像高成本的bcrypy这样的string密码存储哈希,这会造成巨大的延迟。 而且,这种行为是不必要的,因为所有文件都在相同的authentication设置下,所以用户和组只需要确认一次。 大幅度多次确认,人为地增加了强密码散列的本地代价,没有安全性,通过强制使用更低成本的algorithm大大降低了整体安全性。

我的问题是: 如何禁止这种行为?

我怎样才能让mod_autoindex只对密码authentication库进行一次调用?

这是一个有问题的例子:

 <VirtualHost *:443> SSLEngine on SSLCertificateFile /etc/apache2/ssl/mycert.crt SSLCertificateKeyFile /etc/apache2/ssl/mykey.key <Directory "/webdata/doc"> AuthType basic AuthName "Safe Documents" AuthBasicProvider file AuthUserFile passwd/docuemnts_users.passwd require valid-user Options +Indexes </Directory> </VirtualHost> 

遵循Apache httpd 请求处理代码 ,似乎并不是这种情况。 如果我正确地阅读,authentication/授权只针对主要请求进行一次。

一旦授权,mod_autoindex模块将在输出链中生成内容。 mod_autoindex.c中唯一类似授权的代码是检查是否允许生成索引。

如果您使用debugging符号和所有内容来分析代码,请发布您的调查结果。