htaccess + htpasswd: 비밀번호를 지정하지 않고 PHP 스크립트 실행을 방지하는 방법

htaccess + htpasswd: 비밀번호를 지정하지 않고 PHP 스크립트 실행을 방지하는 방법

내 사이트는 Linux의 Apache에 의해 관리됩니다. 기본 디렉터리에는 하위 폴더 채우기가 있습니다. 이 하위 폴더에는 PHP 스크립트인 do.php가 있습니다.

내 .htaccess는 다음과 같습니다.

AuthType Basic
AuthName 'Welcome back'
AuthUserFile /home/provider/mysite/fill/.htpasswd
Require valid-user

내 .htpasswd는 다음과 같습니다.

ab12:2yd32253zi7Nz2

내가 갈 때http://mysite/채우기, 사용자 이름과 비밀번호를 묻는 메시지가 나타납니다. 이를 지정하면(비밀번호와 함께 ab12) 성공적으로 로그인하고 이 채우기 폴더에 있는 index.html의 내용을 볼 수 있습니다(예:http://mysite/fill/index.html). 그런 다음 이전에 저장한 검색 기록과 모든 비밀번호를 삭제합니다. 그 후 스크립트를 실행하면http://mysite/fill/do.php, 인증을 요청하지 않습니다.

질문: 실행할 때 자격 증명을 요청할 수 있습니까?http://mysite/fill/do.php? htaccess에 변화가 있나요?

감사합니다.

답변1

보고아파치 문서~에인증, 권한 부여 및 액세스 제어, 안타깝게도 그런 것 같아요로그아웃이 불가능합니다.

그러니까 문제는 그게 아닌데http://mysite/fill/do.php자격 증명을 요구하지 않습니다. 여기서 실제 문제는 인증을 재설정할 수 없다는 것입니다.

로그아웃하려면 어떻게 해야 하나요?

브라우저가 처음으로 기본 인증을 구현하기 시작한 이후로 웹사이트 관리자는 사용자가 로그아웃하도록 하는 방법을 알고 싶어했습니다. 이 튜토리얼의 앞부분에서 설명한 것처럼 브라우저는 인증 영역을 사용하여 사용자 이름과 비밀번호를 캐시하므로 이는 서버 구성의 기능이 아니라 브라우저가 자격 증명 정보를 잊어버리게 하여 다음 번에 리소스가 요청되면 사용자 이름과 비밀번호를 다시 제공해야 합니다. 공공 장소에서 브라우저를 사용하고 다음 사람이 귀하의 은행 계좌에 들어갈 수 있도록 브라우저를 로그인 상태로 두기를 원하지 않는 경우와 같이 이것이 바람직한 상황이 많이 있습니다.

그러나 이것이 아마도 기본 인증에 관해 가장 자주 묻는 질문임에도 불구하고 지금까지 주요 브라우저 제조업체 중 누구도 이 기능을 자사 제품에 추가하는 것이 바람직한 기능이라고 생각하지 않았습니다.

결과적으로 이 질문에 대한 대답은 '할 수 없다'입니다. 죄송합니다.

이것을 보면서질문, 다른 로그아웃 방법을 검색할 수도 있습니다.

관련 정보