이 질문이 noobish이거나 중복되는 경우 저에게 안내 해드립니다.사용자 이름과 비밀번호가 필요합니다.
이런 종류의 인증을 구현하는 방법이 궁금합니다. 나는 상당히 잃었어요이 검색하는 키워드를 모르기 때문에
내가 요구하고있다. 내 생각에 사용자가 내 도메인 (예 : http://mysite.com 및 http://mysite.com/tools)에 액세스하려고 할 때마다이 작업을 수행 할 계획입니다.
이 질문이 noobish이거나 중복되는 경우 저에게 안내 해드립니다.사용자 이름과 비밀번호가 필요합니다.
이런 종류의 인증을 구현하는 방법이 궁금합니다. 나는 상당히 잃었어요이 검색하는 키워드를 모르기 때문에
내가 요구하고있다. 내 생각에 사용자가 내 도메인 (예 : http://mysite.com 및 http://mysite.com/tools)에 액세스하려고 할 때마다이 작업을 수행 할 계획입니다.
찾고있는 키워드는 htaccess
, htpasswd
, .htaccess
입니다.
.htaccess
파일을 넣어, 그것은 당신의
htpasswd
파일로 요구 사항을 확인하게됩니다 (당신이 아파치를 사용 제공).
예 : 내 서버에서 사람들이 내 private
디렉토리를보고 싶지 않습니다.
$ sudo htpasswd -c /etc/apache2/.htpasswd benjamin
주 위의 명령 ^에서 benjamin
것을 우리가 로그인 할 때 사용하는 사용자 이름입니다. 우리는 몇 가지 보안에 대한 우리의 웹 폴더 외부 .htpasswd
파일을 싶습니다
. 그것은 HTTP 인증
http://en.wikipedia.org/wiki/Basic_access_authentication
http://php.net/manual/en/features.http-auth.php
라고
AuthUserFile /etc/apache2/.htpasswd
AuthGroupFile /dev/null
AuthName Authenticate
AuthType Basic
require user benjamin
벤자민은 여기'htpasswd -c /etc/apache2/.htpasswd 벤자민이 암호인가? –
@LeandroGarcia 아니요, 사용자 이름입니다. –
이것은 (당신의 예제에 기초한)'private' 디렉토리의 하위 디렉토리에 적용 되는가 아니면 루트 디렉토리 자체에만 적용 되는가? –
가 WWW-Authenticate
헤더를 보내기 :
private
디렉토리에 나는이 포함 된
.htaccess
파일을 넣어 것 인증을위한 프롬프트
<?php header('WWW-Authenticate: Basic realm="My Realm"');?>
인증 자격 증명은 다음 $_SERVER
변수에 사용할 수
이름 - $_SERVER['PHP_AUTH_USER']
비밀번호 - $_SERVER['PHP_AUTH_PW']
확인 사용자 이름 및 암호와 일치하지 않는 경우에 HTTP/1.0 401 Unauthorized
상태를 보내 다시 시도하거나 다시 입력하려면 WWW-Authenticate
헤더를 다시 보내십시오. 벤자민이 언급 한 바와 같이
, 당신은 또한
http://httpd.apache.org/docs/2.2/howto/auth.html#gettingitworking
이 사이트의 아이디어는 앞으로 방문자를 도울 수있는 유용한 Q & A 게시물 모음을 만드는 것입니다. 링크에만 의존하는 대답 (비록 그것이 맞다하더라도)은 링크 썩음 (link rot)에 취약하고, URL이 죽으면 대답은 가치가 없어 질 것입니다. 혼자 서있을 수 있고 참조 할 수있는 링크를 제공하는 대답을 제공하는 것이 항상 좋습니다. – Lix
감사합니다. –
@Lix AFAIK httpd 매뉴얼 및 PHP 수동 링크 구조는 몇 년 동안 변경되지 않았습니다. 그러나 고마워, 나는 다음 번부터 그것을 명심 할 것이다. –
당신이 사용하고있는 웹 서버하시오, 그것은 많이 :) –
흠 도움이 될 것입니다 인증 모듈을 사용할 수 있습니다, 아파치 & PHP 태그. 그럴 거니? –
처럼 보입니다. htaccess http://www.javascriptkit.com/howto/htaccess.shtml을 찾고 있습니다. – FirmView