.htpasswd
내 사이트에는 제대로 작동하는 보호 기능이 있습니다 . PHP CLI를 통해 모든 것을 캐시에 저장하는 스크립트를 호출하면 401 오류가 발생합니다. 여기서 문제는 .htpasswd protection
.
CLI 호출에서 env( )를 정의합니다 . 다음과 같은 경우 사용자 이름과 비밀번호를 묻지 않도록 ENV=cron
어떻게 알 수 있습니까 ?.htaccess
env=cron
내 현재 코드는 다음과 .htaccess
같습니다.
<IfDefine env!=cron>
AuthType Basic
AuthName "internal"
AuthUserFile /path/to/my/.htpasswd
Require valid-user
</IfDefine>
나는 2.4가 아닌 Apache 2.2를 사용하고 있으므로 이 작업이 훨씬 쉬워집니다. 이 문제를 해결하는 올바른 방법은 무엇입니까?
답변1
Apache 2.2에서는 지시문을 사용하여 이 작업을 수행할 수 있습니다 Satisfy
.
예를 들어:
AuthType Basic
AuthName "internal"
AuthUserFile /path/to/my/.htpasswd
Require valid-user
Order allow,deny
Allow from env=cron
Satisfy Any
(기본값은 Satisfy All
)
Apache 2.2의 지시문 <IfDefine>
은 Apache가 시작될 때 명령줄에 매개변수가 설정되었는지 여부만 확인할 수 있습니다. 환경 변수를 확인할 수 없습니다.