Heim  >  Fragen und Antworten  >  Hauptteil

Bei der .htaccess-Verzeichnisverschlüsselung von Apache ist für das individuelle Setzen einer Datei kein Passwort erforderlich.

Sehr einfache Anfrage.
Das Verwaltungsverzeichnis wird auf der Website mit .htaccess verschlüsselt. Aus bestimmten Gründen muss jedoch auf einige Dateien direkt zugegriffen werden, ohne dass ein Passwort eingegeben werden muss.
Voraussetzung: Sie können keine Dateien verschieben, Sie können nur .htaccess ändern, um die Anforderungen zu erfüllen.
Da es sich nur um eine Teildatei handelt und die Anzahl gering ist, ist natürlich auch der zu ermittelnde Dateiname akzeptabel. Natürlich wäre es besser, wenn Berechtigungen für alle Suffixe eines bestimmten Typs vergeben werden könnten.

为情所困为情所困2713 Tage vor585

Antworte allen(1)Ich werde antworten

  • PHP中文网

    PHP中文网2017-05-16 17:06:41

    既然你是希望一类后缀开放的话,那实现起来就容易多了,比如只希望 .txt可以被访问

    <filesMatch "(?<!\.txt)$">  #hint: pcre look behind
        AuthUserFile /home/felix021/wwwroot/test/.htpasswd
        AuthName "Secret Stuff" 
        AuthType Basic
        require valid-user   
    </filesMatch>
    忽略后面的,仅供参考

    下面是之前想到的比较罗嗦的做法。

    首先执行这个命令获得所有的文件扩展名:

    find -type f -exec basename {} \; | cut -d. -f2 | sort | uniq

    比如输出

    jpg
    js
    txt
    php
    png

    比如希望txt不需要密码,其他都需要,然后修改.htaccess:

    <filesMatch "\.(jpg|js|php|png)$">  #这里不写txt
        AuthUserFile /home/felix021/wwwroot/test/.htpasswd
        AuthName "Secret Stuff" 
        AuthType Basic
        require valid-user   
    </filesMatch>

    Antwort
    0
  • StornierenAntwort