【问题标题】:set HTPasswd for specific GET request in a url为 url 中的特定 GET 请求设置 HTPasswd
【发布时间】:2013-11-28 05:40:04
【问题描述】:

我在cs购物车中建立了一个网站。
管理员面板的网址是这样的https://mysite.com/vendorsds.php
我想在用户访问此链接https://mysite.com/vendorsds.php?dispatch=companies.update 时为用户设置一个HTPasswd

我已经尝试了以下 -

AuthName "Restricted Area" 
AuthType Basic 
AuthUserFile /var/chroot/home/content/28/11136228/html/htpasswds/.htpasswd 
AuthGroupFile /dev/null 
<Files vendorsds.php?dispatch=companies.update>
require valid-user
</Files>

当我从上方删除dispatch=companies.update 时,它适用于所有通过vendorsds.php 的页面。 是否可以在同一页面中为任何特定的 GET 参数(如 dispatch=companies.update)设置 HTPasswd

【问题讨论】:

    标签: .htaccess .htpasswd cs-cart


    【解决方案1】:

    这确实很棘手,但可能。请参阅下面的两步方法:

    ## force BASIC auth for a specific query parameter
    
    # 1: set URI to /vendorsds.php/companies.update if query string is dispatch=companies.update
    RewriteCond %{QUERY_STRING} (?:^|&)dispatch=companies.update(?:&|$) [NC]
    RewriteRule ^(vendorsds\.php)/?$ $1/%1 [NC]
    
    # 2: set AUTH_NEEDED var to 1 if URI is /vendorsds.php/companies.update
    SetEnvIfNoCase Request_URI "^/vendorsds\.php/companies\.update" AUTH_NEEDED
    
    AuthType Basic
    AuthName "Restricted Area"
    AuthUserFile /var/chroot/home/content/28/11136228/html/htpasswds/.htpasswd
    Require valid-user
    Order allow,deny
    Allow from all
    Deny from env=AUTH_NEEDED
    Satisfy any
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-08-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-27
      • 2020-06-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多