2010-07-26 5 views
0

간단한 인증을 요구하는 PHP 기반 웹 응용 프로그램을 만들고 있습니다. 응용 프로그램은 웹 서버에 설치되고 웹 호스팅/서버의 소유자 만 사용되므로 사용자와 암호가 하나만 있습니다. 복잡한 로그인 시스템을 만드는 데 아무런 문제가 없다고 생각했습니다. 나는 아파치의 인증을 사용하기 위해 .htaccess와 .htpasswd 파일을 생성하기위한 GUI를 만들 것이다. 그 뒤에있는 생각은 그것이 단순한 것으로 생각되었지만, 예상했던 것보다 더 많은 일로 바뀌고 있습니다. .htpasswd 파일을 어딘가에 안전하게 보관해야한다는 것을 알았습니다. 이는 웹 액세스 가능 디렉토리가 아니라는 의미입니다. 문제는 웹 서버가 종종 다른 파일 시스템과 권한을 가지므로 어디에서 안전하게 배치 할 수 있습니까? 나는 내가 말할 수있는 것에서 안전해야하는 "740"권한을 가진 디렉토리를 만들 수있었습니다. 그러나 이것은 불편합니다. 응용 프로그램은 실제로 하나의 폴더로 제한되어야하며, 필요한 경우 길잃은 .htpasswd 파일로 제한되어야합니다. 나는 응용 프로그램 폴더에 .htpasswd를 배치하고 싶지만, 서버 오류가 발생했을 때 .htaccess 파일로 보안을 설정하면 불가능하다고 생각합니다. 만약 누군가가 그 해결책이나 .htpasswd 파일을 넣는 더 좋은 곳을 가지고 있다면 그것은 크게 감사 할 것입니다! 기본 아파치PHP에서 생성 된 .htpasswd를 어디에 둘까요?

+0

이있는 경우 http://stackoverflow.com/questions/747096/를 살펴 보자/컴파일 할 경우 서버 오류가 mod_auth를 확인 발생한 경우 cakephp-password-protection-with-htaccess-and-htpasswd-howto. –

+0

나는 어떻게 htaccess와 htpasswd 함수가 있고 어떻게 생성하는지 알고있다. 단순히 플랫폼 간 호환 및 보안을 유지하는 .htpasswd 파일을 어디에 둘 수 있는지에 대한 제안을 찾고 있습니다. –

답변

2

은이 규칙에 의해 어떤 .ht* 파일을 제공하지 않도록 구성해야합니다

<FilesMatch "^\.ht"> 
    Order allow,deny 
    Deny from all 
    Satisfy All 
</FilesMatch> 

그래서 당신이 원하는 목적지까지이 파일을 배치 보안해야한다.

이 아파치 설치 활성화 및 가상 호스트/웹 루트가 AllowOverride AuthConfig

+0

고마워, 나는 이것을 알지 못했다. 그러나 .htpasswd 파일을 .htaccess 보호 폴더 안에두면 오류 만 있습니다. 'mod_auth'를 가능하게하고'AllowOverride AuthConfig'를 설정하면 에러없이 이것을 할 수 있습니까? –

+0

그래서 .htpasswd를 다른 곳에두면 (그리고 htaccess에서이 경로를 지정하면) 잘 동작합니다 (페이지를보기 위해 로그인해야합니다)? –

+0

아직 테스트하지는 않았지만, 그렇다고 가정합니다. 그러나 올바른 사용자와 암호를 입력하면 유효성을 검사하지 못하고 로그인 상자가 다시 나타납니다. 내 오류 로그는 다음과 같이 말합니다 : 이유 : 지시어가 필요하고 신뢰할 수있는 처리기가 필요하지 않습니다. 이것은 당신이 언급 한 오류입니까? –

관련 문제