2012-05-01 1 views
5

우리는 ModX 설치에서 몇 가지 다른 리소스를 보호하려고합니다.htaccess와 htpasswd를 사용하여 ModX 웹 사이트의 리소스를 비밀번호로 보호하려면 어떻게합니까?

:

AuthName "Dialog prompt" 
AuthType Basic 
AuthUserFile /var/www/vhosts/mywebsite.co.uk/.htpasswd 

<FilesMatch ^index.php\?q=71$> 
    require valid-user 
</FilesMatch> 

운동의 목적은 다음 리소스를 보호하는 것입니다합니다 (ModX 물건을 모두 포함하지 않음)는 다음과 같이 현재의 .htaccess 코드는

LocationsMatch, Locations, Files 및 Filesmatch의 다양한 조합을 시도했지만 제대로 작동하지 않습니다.

고맙습니다.

+1

다음과 같이 말할 수 있습니다 : 적어도 지금까지 시도한 것이 * 작동하지 않는 이유에 대한 통찰력을 제공하는 지침에 대한 설명서 읽기 : http : //httpd.apache.org/docs/current/mod/core.html # filesmatch – hakre

+0

모든 단어를 읽고 내가 탐색 할 수있는 모든 옵션을 시도했습니다. 이것이 필요한 것은 꽤 공통적 인이 이슈를 달성하는 경험이있는 누군가 일 것입니다. – user1346416

+1

왜 .htaccess를 사용하고 있고 modx가 리소스/보안 관리 기능을 내장하고 있지 않습니까? –

답변

0

이 전체 솔루션이 무엇이다 : 다른 사람이 알 필요가 있다면,라는 passwordprotect 스 니펫을 생성하고 페이지의 상단에 넣어

: [passwordprotect]].

<?php 

if(isset($_SERVER['PHP_AUTH_USER']) && ($_SERVER['PHP_AUTH_USER']=='user') &&  ($_SERVER['PHP_AUTH_PW']=='password')) 
{ 
    echo 'You are successfully logged in.'; 
} else { 
    header('WWW-Authenticate: Basic realm="Protected area"'); 
    header('HTTP/1.0 401 Unauthorized'); 
    echo 'Text to send if user hits Cancel button'; 
    exit; 
} 

편집 : 나는 다음 코드 (위의 응답의 적응)에 넣어 사용하기 때문에 작동하지 않습니다 때때로 당신이 가끔 일을한다는 것을 발견하는 경우와, 이것은 아마도 [[passwordprotect] ], modx는 스 니펫을 캐시합니다. 나는 혁명에서 [[! passwordprotect]]로 더 나은 성공을 거두었 다. Evolution에서 코드는 [! passwordprotect!]라고 생각합니다. 느낌표는 스 니펫을 캐시하지 않음을 나타냅니다. 희망은 누군가를 돕는다!

+0

가끔은 제대로 작동하지 않는 경우가 있는데, [[passwordprotect]]를 사용하면 modx가 스 니펫을 캐시하기 때문일 수 있습니다. – user1346416

+0

또한 캐시 된 스 니펫에는 이전 사용자가 인증되고 새 사용자는 인증되지 않을 수 있습니다. 올바른 구현 방법은 아래를 참조하십시오. –

0

이렇게 할 이유가 전혀 없으며 MODX Revolution ACL의 전체 목적을 무효화합니다. 정답은 다음과 같습니다.

  1. 리소스에 액세스 할 수있는 최소 역할을 가진 사용자 그룹을 설정합니다.
  2. 리소스 그룹 내에서 테스트 리소스를 만듭니다.
  3. 사이트 관리자를 자원 그룹에 추가하십시오.
  4. 자원 그룹에 테스트 사용자를 작성하십시오.
  5. 사이트 캐시를 새로 고칩니다.
  6. 자신을 포함한 모든 사용자를 로그 아웃하십시오.
  7. 관리자와 프런트 엔드 모두에서 사이트 관리자와 함께 ACL을 테스트하십시오.
  8. 완전히 다른 브라우저를 사용하거나 로그 아웃하거나 테스트 사용자와 테스트하십시오.
  9. 일단 작업 중이면 보호 된 문서를 자원 그룹으로 이동하십시오.
  10. 액세스하려는 그룹에 사용자를 추가하십시오.
  11. 스 니펫을 제거하십시오.

도움이 필요하면 내 책을 받아 보거나 내 사이트를 방문하십시오.