2009-08-28 7 views
1

웹 응용 프로그램의 모듈로 서버 탐색기의 종류를 개발했으며 실제로 잘 작동합니다. 나는 그것에 약간의 세련미를하고있다. 그리고 내가 정말로 다루는 방법을 모르는 1 개의 문제가있다.Perl : 현재 폴더에서 .htaccess 상태 가져 오기

탐색기는 주로 지정된 폴더와 하위 폴더에서 사진을 선택하는 데 사용됩니다. 일부 학교는 설립 외의 사진 배포에 관심을 갖기 때문에 원하는 경우 .htaccess (실제로는 .htaccess를 설정하는 웹 인터페이스를 통해)로 사진을 보호 할 수있는 옵션을 제공했습니다.

.htaccess로 보호되는 폴더에 액세스하려고하면 해당 폴더 내의 모든 그림마다 암호를 묻는 메시지가 나타납니다. 교사가 모든 주요 이벤트에서 100 장 이상의 사진을 찍는 경향이 있으며 하나의 폴더에 넣는 것이 좋으므로 실제로 브라우저가 100 개 이상의 대화 상자를 열지는 않습니다.

우리는 백엔드에서 Perl을 실행하고 있으므로 jQuery에 내용을 전달하기 전에 주어진 폴더가 보호되는지 여부를 확인할 수 있다고 생각했습니다. 문제는 상위 폴더의 .htaccess로 이미지를 보호 할 수 있다는 것입니다.

사진을 제공하기 전에 외부인이이 사진이나 파일에 액세스하여 일반 용도로 유지하고 다른 용도로 사용할 수 있는지 여부를 확인할 수있는 안전한 방법이 있습니까?

편집 - 추가 htaccess로 파일
## OLEFA AUTH START ##
AuthType이 기본
AuthName 지정 "192.168.1.120/resources/images/accesstest"
AuthUserFile과/가정/마이크/작업/olefa // 자원/이미지/accesstest/.htpasswd

+0

브라우저가 쿠키를 저장하지 않습니까? 하나의 .htaccess 파일의 암호를 계속해서 물어 보지 않아야합니다. 뭔가 다른 점이 있다고 생각합니다. – Telemachus

+3

HTTP 인증은 쿠키를 사용하지 * 않습니다 *. 대부분의 브라우저는 자격 증명을 기억하고 후속 요청시 제공합니다. –

+1

@ 마이크 나는 "훌륭한 작품"이 제한된 정보를 기반으로한다고 생각하고 있습니다. 나는 구멍이 뚫린 구멍으로 가득 찬 "훌륭한 작업"을하는 응용 프로그램을 너무 많이 보았습니다. 보안 (SSL) 연결에서 HTTP 인증이 발생하지 않으면 사용자에게 잘못된 보안 인식을 제공합니다. –

답변

1

각 디렉토리가 아닌 이미지 자리 표시 자 파일을 저장하고 전에 검색하는 탐구 할 수있는 옵션 ## 유효한 사용자
## OLEFA AUTH의 END가 필요 이미지. 검색에 실패하면 이미지 풀링을 수행하지 않고이 사용자에 대해 디렉토리가 보호된다는 의미로 해석합니다. 그렇게하면 하나의 암호 대화 상자가 나타납니다. 유효한 사용자 이름과 암호가 있으면 브라우저는 이미지 검색을 위해이를 기억합니다.

+0

JSON을로드하면 jQuery가 성공을 반환하기 때문에 파일에 액세스 할 수없는 경우에는 independent가 문제가 될 수 있습니다. (JSON은 페이지로 연결되는 링크를 전달하는 반면 실제로 jQuery는 링크를 전달합니다.) 나는 펄이 어떤 것이 공개적으로 이용 가능한지 알아내는 방법을 생각하고 있었다. 만약 그렇지 않다면 jQuery가 그림을로드하기 전에 자격 증명을 요청할 수 있도록 특별한 매개 변수를 리턴한다. (또는 적어도 jQuery가 그림을로드하려고하지 않도록한다. 목록에서 해당 폴더를 모두 제거하십시오. – Mike

+1

jQuery가 성공을 리턴했는지 확인하지 마십시오. 자리 표시 자 파일의 알려진 내용 (예 : "성공")을 검색하는지 여부에 따라 이동하십시오. – chaos

+0

.htaccess는 특정 파일 세트를 제한하는 지시어를 포함 할 수도 있습니다. 따라서 자리 표시 자 파일이 해당 세트에 있지 않으면 해당 기술이 중단되어 실제로 제한 될 때 액세스가 허용됨을 나타냅니다. –

0

불완전한 디자인이나 프로세스에 코드 레이어를 적용 할 때 레이어가 생성 될 수도 있습니다. 같은 디렉토리에서 모든 이미지에 대한 사용자 이름 비밀번호 대화 상자를 얻는 경우

, 나는 처음에 의심 :

  1. htaccess로 어떻게 든 잘못이다. 당신이 가진 것을 우리에게 보여줄 수 있습니까?
  2. 사용자 에이전트가 인증 헤더를 보내지 않습니다. HTTP 요청을보고 권한 헤더가 있는지 확인하십시오. 또한 응답 상태를보십시오. 401 또는 403입니까?

다른 경로의 리소스에 액세스하려는 경우 모든 폴더마다 다른 영역을 사용하고 있습니까? 자격 증명은 도전 과제를 제시 한 영역에만 적용됩니다. 다른 영역에 액세스하면 다시 시작해야합니다. htaccess에서 어떻게 지정하고 있습니까?

우리를 도울 수있는 몇 가지 다른 일을 : 사용중인 인증 어떤 종류의

  • ? 기본, 다이제스트, 다른 것?
  • 맞춤 인증 처리기를 사용하고 있습니까?
+0

업데이트 : .htaccess가 이제 의문의 여지가 있습니다. – Mike

관련 문제