2016-08-25 2 views
0

저는 현재 각 사용자에게 업로드 할 수있는 비공개 파일을 사용하기로되어있는 WordPress 사용자 시스템을 만들고 있습니다. 이것을 달성하기 위해 나는 문제의 파일을 하위 폴더에 저장하여 이름이 secretfiles 인 파일을 저장하는 필터를 사용하고 있습니다. 필터를 사용하면 public_html 외부에 파일을 배치 할 수 없으므로 이런 식으로해야합니다.public_html 내의 폴더에 대한 액세스를 제한합니다.

이제이 .htacces를 사용하여이 'secretfiles'폴더에 대한 모든 액세스를 제외하고 요청한 파일을 다운로드하기 전에 사용자에게 보낼지 여부를 확인하는 다운로드 스크립트를 작성합니다.

파일이 public_html 폴더에 배치되어 있어도 파일을 완전히 비공개로 설정하는 것이 안전한 방법일까요? 그리고 .htaccess 코드는 어떻게 될까요?

감사합니다!

+0

무엇을 시도 했습니까? 사용중인 코드가 문제를 나타내는 위치는 어디입니까? 왜 필터가 public_html 바깥에 파일을 둘 수 없습니까? 이 필터 란 무엇입니까? 그것은 무엇을합니까? 액세스를 제한하는 방법은 [Apache httpd 설명서] (https://httpd.apache.org/docs/2.4/howto/access.html)를 읽으셨습니까? StackOverflow 도움말 센터에서 [질문하는 방법] (http://stackoverflow.com/help/how-to-ask)을 읽으면서 묻기 전에 묻는 방법에 대한 지침을 얻었습니까? – Sherif

+0

이것은 확실히 가능합니다. 그것은 위대하지는 않지만, 아마도 당신이 할 수있는 모든 것은 당신의 말에 따라 할 수 있습니다. 그것이 "안전"한지 여부는 우리가 알지 못하는 고려해야 할 측면이 무한히 있기 때문에 또 하나의 질문입니다. 일반적으로 단순한 웹 호스팅을 사용하면 마치 그 상황에서 파일을 제어 할 수 없으므로 안전한 것으로 간주 될 수 있습니다. – arkascha

+0

구성해야 할 정확한 규칙에 대해 : apache http 서버의 모듈에 대해 제공되는 훌륭한 설명서를 읽어보십시오. 좋은 설명과 풍부한 예제가 있습니다. – arkascha

답변

0

.htaccess 파일을 사용하여 디렉토리의 파일에 직접 액세스하지 못하도록 모든 액세스를 거부 할 수 있습니다 (아래 예제 참조). 사용자는 제안 된대로 다운로드 스크립트로 묶인 경우에도이 파일에 액세스 할 수 있습니다. 다운로드 스크립트는 리디렉션이 아니어야합니다. 파일 자체를 보내야합니다.

Deny from all 
+1

특정 파일 이름 확장명 대신 폴더에 대한 액세스를 차단하는 것이 훨씬 의미가 있습니까? 예를 들어 폴더 색인은 어떻습니까? 다른 파일 이름 확장명은 무엇입니까? 예를 들면 대문자? – arkascha

+0

코드를 변경 한 경우 설명과 일치하도록 코드를 변경해야합니다. 이것은 그들이 현재있는 방식을 혼란스럽게합니다 ... – arkascha

+0

@arkascha 요청마다 업데이트되었습니다 :-) – mrheroux

관련 문제