首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >htaccess:条件身份验证

htaccess:条件身份验证
EN

Stack Overflow用户
提问于 2012-06-27 16:36:48
回答 1查看 1.5K关注 0票数 2

如何在apache/htaccess配置中进行配置:

我希望HTTP-身份验证的所有文件,但有一个例外。从1.2.3.4开始,无需任何身份验证即可访问文件click.phpjs/clickheat.js

我试过FilesMatch,但我不能反转它。所以我不能把require valid-user放进去。我想使用SetEnv,但是我怎么检查它呢?

代码语言:javascript
复制
<FilesMatch "(click\.php|clickheat\.js)">
    # what here?
</FilesMatch>

我的另一个想法是使用mod_rewrite。好吧,我可以允许从给定的主机访问这两个文件,并拒绝从其他任何地方访问。但是,如何将其与HTTP-Authentication链接起来呢?

代码语言:javascript
复制
# allows access to two files from the given IP
RewriteCond %{REMOTE_ADDR} 1\.2\.3\.4
RewriteCond %{REQUEST_URI} ^/click.php [OR]
RewriteCond %{REQUEST_URI} ^/js/clickheat\.js
RewriteRule (.*) - [L]

# denies everything else
RewriteRule (.*) - [F,L]

因此,我最喜欢的解决方案是通过RewriteCond/RewriteRule启用HTTP-Auth。

背景(或者我为什么要这样做):我正在尝试确保clickheat (http://www.labsmedia.com/clickheat/index.html)安装的安全。和1.2.3.4是远程运行的mod_proxy,并将对这些文件的访问重定向到我们的clickheat主机。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-27 17:16:21

好吧,我找到了一个解决方案:

代码语言:javascript
复制
Order Deny,Allow
Deny from All

Satisfy Any

AuthType Basic
AuthName "clickheat"
AuthUserFile /var/www/clickheat/.htpasswd
Require valid-user

<FilesMatch "(click\.php|clickheat\.js)">
        Deny from All
        Allow from 1.2.3.4
</FilesMatch>

关键是Satisfy Any,它允许基于IP或Auth的访问。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11222343

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档