如何通过mod_autoindex抑制对mod_auth_basic的重复检查?

如何通过mod_autoindex抑制对mod_auth_basic的重复检查?

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

如果使用字符串密码存储哈希(如高成本的 bcrypy),这可能会导致巨大的延迟。此外,这种行为是不必要的,因为所有文件都采用相同的身份验证设置,因此用户和组只需确认一次。多次确认会极大地人为地增加强密码哈希的本地成本,而没有任何安全优势,通过强制使用成本较低的算法,大大降低了整体安全性。

我的问题是:我怎样才能抑制这种行为?

我怎样才能mod_autoindex只调用一次密码验证库?

这是一个存在问题的示例:

<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>

答案1

关注 Apache httpd请求处理代码,似乎不是这样。如果我没看错的话,身份验证/授权只针对主请求进行一次。

一旦获得授权,mod_autoindex 模块将在输出链中工作以生成内容。mod_autoindex.c是检查是否允许生成索引。

如果您已经使用调试符号和所有内容对代码进行了分析,请发布您的发现。

相关内容