(일부) 업로드 / 다운로드에 대한 액세스를 제한하기위한 간단한 솔루션


11

초기 상황

내가 설정하는 사이트의 경우 업로드 / 다운로드 보안의 전체 필드를 살펴보고 사용자 역할 / 기능에 따라 액세스를 제한했습니다. 물론 여기에서 (일반) 주제와 관련된 이전 질문 중 일부를 읽었습니다.

보충 노트

일반적으로 워드 프레스 설치의 보안 (예 : 보호)을 추가로 향상시키는 것은 좋지 않은 일이 아닙니다 wp-config.php. 그것을 수행하는 방법에는 많은 정보가 있습니다. 나는이 질문의 맥락에서 주로 내 업로드 / 다운로드에 관심이 있습니다.

Wordpress 업로드는 보안이 유지되지 않으므로 uploads다음과 같이 방지하지 않으면 모든 사용자 가 폴더를 찾아 볼 수 있습니다 .htaccess.

Options All -Indexes

.htaccess파일 내부에 위치해야합니다 uploads폴더. 그러나 이것이 실제로 보안을 유지하는 것은 아니며 파일을 찾기가 더 어려워집니다. 또한 당신은 hotlinking기반으로 액세스를 본질적으로 제한하는 것을 막을 referrer수 있습니다.

물론 게시물을 비공개로 만들거나 적절한 템플릿 파일로 사용자 정의 게시물 유형을 만들어 해당 게시물 유형을 비공개로 만들 수는 있지만 파일을 보호 할 수는 없습니다. 동일은 같은 조건문에있는 파일을 포장하기위한라고 할 수있다 is_user_logged_in()is_admin().

주석에는 파일을 보호하고 보호 할 수있는 많은 플러그인이 있지만, 그 중 대부분은 그렇게하는 척하고 있습니다. 그 이유 중 일부는 위에 있습니다. 나는 그것이 everyboby에 의해 알려져 있지 않다는 것을 확신하기 때문에 그 사실을 지적하고 있습니다.

객관적인

내 의도는 (일부) 업로드 및 각각 다운로드에 대한 액세스를 제한 할 수있는 것이 었습니다. 또한 우연히 또는 누군가 파일 이름을 알지 못하는 경우 원하지 않는 사람이 액세스 할 수 없도록하려면 파일은 실제로 개인용이어야합니다. 결국 특정 사람 만 예외없이 액세스 할 수 있어야합니다.

또한 나는 전체 사이트를 민영화 할 필요가 없었습니다. 실제로 비생산적 일 것입니다-그것은 공개 프리젠 테이션 목적으로 사용됩니다. 또한 솔루션을 사용하는 일부 사람들이 종종 컴퓨터 전문가가 아니기 때문에 솔루션을 쉽게 사용할 수 있기를 원했습니다.

질문

따라서 문제는 (일부) 업로드 및 각 다운로드에 대한 액세스를 제한하는 (상대적으로) 간단한 방법이 있습니까? 그리고 내가 수행 한 것처럼, 그것은 실제로 그들을 보호하고 보호하는 방법을 의미합니까?


질문에 솔루션을 포함시키는 대신 답변으로 솔루션을 추가해야합니다.
s_ha_dum

올바른 대문자 / 소문자를 사용하십시오. 채팅처럼 읽습니다 ...
kaiser

건설적인 비판에 감사드립니다. 곧 수정하고 재구성 할 것입니다.
Nicolai

답변:


8

나는 해결책을 찾았 기 때문에 내 자신의 질문에 대답하고 있지만, 그것에 대한 당신의 의견에 정말로 관심이 있습니다. 아니면 더 나은 해결책이있을 수 있습니다. 그렇다면 여기에 정말로 싶습니다.

연구 결과

연구 결과는 다음과 같습니다.
1. 파일을 문서 루트, www폴더 외부로 가져옵니다 .
2. 파일이 포함 된 폴더에 직접 액세스 할 수 없습니다.
3. 스크립트가 파일에 대한 요청을 처리하게하십시오.
그 요점의 출처는 적어도 내 질문에 포함되어 있습니다.

해결책

  1. 플러그인을 설치했습니다» wp-downloadmanager «
    • 프로세스 files내에 폴더 가 생성 wp-content됩니다.
  2. .htaccessfiles폴더에 파일을 추가했습니다 .
    • 내용 .htaccess:
      Options All -Indexes
      Order Deny,Allow
      Deny from all
  3. 플러그인의 중요한 옵션 하나를 변경했습니다.
    • 내가 의미하는 옵션은 download method;
    • 나는 그것을 바꿨다 output file.
  4. 플러그인 인터페이스를 통해 일부 파일을 추가했습니다.
    • 옵션이 있습니다 allowed to download;
    • 사용자 역할 / 기능에 따라 액세스를 제한 할 수 있습니다.
  5. 나는 몇 가지 테스트를했다 :
    • 주소 표시 줄이나 wget을 통해 파일에 직접 액세스 할 수 없습니다.
    • 공개 다운로드는 퍼머 링크를 통해 접속할 수 있습니다. 옵션 패널에서»nice 퍼머 링크 : yes«및»download url : file id«를 선택합니다. addressbar / wget도 작동합니다.
    • 보호 된 제한된 다운로드는 올바른 역할 / 기능을 가진 사용자로 로그인 한 경우에만 액세스 할 수 있습니다.

결론적 인 생각

나는 그 해결책이 연구 결과를 거의 따르고 있다고 생각합니다. 파일을 외부에 두지 마십시오. 그러나 디렉토리에 대한 액세스를 제한하거나 디렉토리를 보호하고 스크립트가 파일 요청을 처리하도록합니다. 액세스 제한은에 의해 처리되며이 .htaccess경우 스크립트는 플러그인 wp-downloadmanger입니다.

보충 노트

  • 그것에는 반드시 필요한 을 변경 download methodoutput file
  • 물론 파일이 있어야 합니다..htaccess

  • 플러그인이 스크립트의 역할을 담당한다는 사실을 확인하려면 wp-downloadmanger.php-라인 207 ~ 227 (버전 1.6.1)을 살펴보십시오 . 이것은 링크 된 정보를 보완하는 의미로 사용됩니다

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.