【问题标题】:Password protect a virtual directory? - .htpasswd/.htaccess密码保护虚拟目录? - .htpasswd/.htaccess
【发布时间】:2013-10-20 03:43:19
【问题描述】:

是否可以用密码保护虚拟目录(例如 wordpress 类别):

/c/sofas/

看起来<Location /c/sofas/> 可以在 httpd_config 中工作,但不是 .htaccess

有可能吗?可能在某个地方使用了 mod_rewrite?

【问题讨论】:

  • AFAIK 不,但这也没有什么意义 - 攻击者可以简单地找出重写后的真实 URL 并访问它。 (也许如果您在确切的用例中进行编辑,有人可以提出替代解决方案)
  • Pekka -- 下面的例子是一个完美的例子,James Holwell 也链接到了这个例子。它在一个类似 WordPress 的系统中——他们无法访问该 URL 上接受的内容。

标签: apache .htaccess virtual-directory basic-authentication .htpasswd


【解决方案1】:

很遗憾,<Location> 指令不允许在 .htaccess 中使用。

但是有一个使用mod_setenvif的替代解决方案。

# set env variable SECURED if current URI is /c/sofas/
SetEnvIfNoCase Request_URI "^/c/sofas/" SECURED

# invoke basic auth is SECURED is set
AuthType Basic
AuthName "My Protected Area"
AuthUserFile /full/path/to/passwords
Require valid-user
Satisfy    any
Order      allow,deny
Allow from  all
Deny from env=SECURED

【讨论】:

  • 我刚刚被告知有一个奇怪的错误。如果您点击“取消”,它仍然会加载页面。你知道如何防止这种情况发生吗?
  • 好的,让我尝试重现它。
  • 对不起,我把 allow,deny 颠倒了。立即尝试。
  • 正在工作,谢谢!我真的应该阅读更多关于该地区的信息。
  • 我猜这与其他事情有关——这似乎仍然是正确的答案。谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-14
  • 1970-01-01
相关资源
最近更新 更多