我有一个用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>
当我从通过 vendorsds.php 的所有网页上方移除dispatch=companies.update
时。
是否可以为同一页面中的任何特定GET参数(如dispatch=companies.update
)设置 HTPasswd ?
答案 0 :(得分:0)
这真的很棘手,但可能。请参阅以下两步法:
## 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