2013-11-28 1 views
1

나는 cs 카트에 웹 사이트 빌드를 가지고 있습니다.
관리자 패널의 URL은 https://mysite.com/vendorsds.php입니다.
나는이 링크를 방문 할 때마다 HTPasswd을 사용자에게 설정하고 싶습니다. https://mysite.com/vendorsds.php?dispatch=companies.update.

나는 다음과 같은 시도 - URL에 특정 GET 요청을위한 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

이것은 매우 까다 롭지 만 가능합니다. 아래의 2 단계 방법을 참조하십시오.

## 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