2016-11-03 2 views
2

다른 사용자가 브라우저에서 해당 디렉토리의 파일에 직접 액세스 할 수 없도록 내 루트 디렉토리에 대한 액세스를 제한하려고합니다. 내가 실행중인 문제는 현재 루트의 페이지입니다. 예를 들어 index.php가 암호를 요청하고 .htaccess가 도메인의 루트가 아니라 디렉토리의 루트에 있습니다. 이것은 색인 파일이 해당 디렉토리의 포함 파일에 액세스하지 못하게합니다..htaccess가 디렉토리 액세스를 거부합니다.

브라우저 액세스에서 해당 디렉토리를 잠그는 동안 루트에있는 파일이 액세스 할 수 있고 비밀번호를 묻지 않고 루트 페이지에 액세스 할 수있는 간단한 방법은 무엇입니까? 나는 그들이 사이트를 볼 수 있다는 것을 알기를 원하지만 누군가가 하위 디렉토리에서 코드를 훔쳐보기 시작하면 부인할 수는 있지만 페이지에 액세스 할 수 있도록 허용합니다.

저는 각 브라우저에서 직접 브라우저 액세스를 제한하고자하는 각 사이트에서이 기능을 사용하지 않았습니다.

AuthType Basic 
AuthName "Administrator" 
AuthUserFile /home2/mesquiu0/.htpasswds./htpasswd 
Require valid-user 

Order Deny,Allow 
Deny From All 
Allow From 127.0.0.1 

답변

1

당신이 디렉토리 색인하지 않도록 여분의 빈 줄에 다음 줄을 추가하기 만하면 자세한 정보를 원하시면

Options -Indexes 

참조 문서 : http://httpd.apache.org/docs/current/mod/core.html#options

+0

에서 나도이에게 기회를 줄 것입니다 수 있습니다. 이전에 시도해 보았지만 캐시 된 파일을 지우고 브라우저를 다시 시작 했으므로 여전히 디렉토리의 파일에 액세스 할 수있었습니다. 나는 그것이 가능하기 때문에 + 색인을했을 수도 있습니다. 제안 해 주셔서 감사합니다. – Texan78

+0

이것도 디렉토리와 루트에서 모두 시도해 보았습니다. 루트의 인덱스 나 파일을 마우스 오른쪽 버튼으로 클릭하고 링크를 클릭하면 브라우저의 해당 디렉토리에있는 파일이 표시됩니다. 막다. 누구든지 브라우저에서 직접 하위 디렉토리에 액세스하면서 루트 또는 다른 하위 디렉토리의 파일이 포함될 수있는 파일에 액세스 할 수있게 허용합니다. – Texan78

+0

업데이트.이 기능은 디렉토리에 대한 액세스를 제한하는 데 사용되지만 일부 파일의 소스를보고 링크 (예 : 스타일 시트)를 클릭하면 작동합니다. 해당 디렉토리 내의 파일을 볼 수 있습니다. 방금 디렉토리 구조를 보려고하면 차단합니다. 필요로하는 특정 파일에 파일을 포함시키면서 디렉토리의 파일에 액세스 할 수 없도록해야합니다. – Texan78

1

그냥 허용하는 스크립트 php, aspx 등과 일치합니다.

아파치 2.2

AuthType Basic 
AuthName "Administrator" 
AuthUserFile /home2/mesquiu0/.htpasswds./htpasswd 
Require valid-user 

#Forbid access to any files except from localhost, because of Order Deny,Allow, Allow gets applied later. 
Order Deny,Allow 
Deny from all 
Allow from 127.0.0.1 

#Allow access to files matching index.php 
<Files index.php> 
    Order Allow,Deny 
    Allow from all 
</Files> 

Apache 2.4에서는 규칙이 변경되었으며 올바른 구문은 Deny from all 대신 Require all denied을 사용하는 것입니다.

당신의 .htaccess 파일에서

AuthType Basic 
AuthName "Administrator" 
AuthUserFile /home2/mesquiu0/.htpasswds./htpasswd 
Require valid-user 

Require host 127.0.0.1 

#Allow access to files matching index.php 
<Files index.php> 
    Require all granted 
</Files> 
+0

제안 해 주셔서 감사합니다. 나의 웹 호스트는 아파치 2.2에있다. 이것은 대개의 경우 현재 상태를 유지하는데 꽤 좋다. 작은 질문 하나만.이 파일을 루트 또는 각 디렉토리에 넣어야합니까? 파일 확장자가 여러 개인 경우 다음과 같이 가정합니다. 새 것을 추가 하시겠습니까? – Texan78

+0

나는 이것을 루트에서 시험 할뿐만 아니라 각 dir에 넣으려고했다. 디렉토리에 넣으면 인덱스에 파일을 액세스 할 수 없으며 로그인을 요청합니다. 루트에 넣으면 사이트 전체가 잠 깁니다. 난 그저 디렉토리를 잠글 필요가 있지만 여전히 그 디렉토리에 로그인하는 옵션을 허용하면서 동시에 그 서브 디렉토리에있는 파일에 액세스 할 수있는 루트의 파일을 허용합니다. – Texan78

+0

지금 확인하십시오! 그래도 작동하지 않으면 질문에 htaccess 내용과 디렉토리 구조를 업데이트하도록 요청할 것입니다. –

1

아파치 2.4을위한 모든

에서 다음 줄

거부를 넣어 그리고 이것은 당신은 예외를 넣어 좋아합니다.

모든

+0

파일이 포함되지 않도록 제한하므로 작동하지 않습니다. – Texan78

관련 문제