2010-12-11 3 views
0

사용자가 서버에서 Zip 파일을 직접 다운로드하지 못하게 할 방법이 있습니까? htaccess에 deny all을 추가하려고 시도하지만 사용자가 폴더 내용을 탐색하지 못하게하는 모든 것. 그들은 여전히 ​​브라우저에 직접 입력 할 수 있습니다 http://site.com/file.zip 그리고 그것을 다운로드 할 것입니다 ..htaccess 또는 다른 방법으로 zip 파일 다운로드를 방지 하시겠습니까?

어떤 아이디어?

+0

처음에는 zip 파일을 넣지 마십시오. (심각한 답변을 얻으려면 아마도 파일을 다운로드 할 수있는 조건을 설명해야 할 것입니다.) – Quentin

+0

다운로드 할 수있는 사람은 PHP 세션을 통해서만 권한이 부여됩니다. 그래서 로그인 한 경우 세션을 생성하면 사용자를 승인 한 다음 다운로드 할 수 있습니다. 다른 모든 사람들은 ... –

답변

0

htaccess가 실제로 작동하지 않으면 600이나 그와 비슷한 파일에 대한 사용 권한 설정은 어떻게됩니까? 유닉스 r/w 권한을 의미합니다. ftp 등을 통해 변경할 수 있습니다. 웹 서버가 귀하의 계정에서 작동하지 않으면 액세스 할 수 없습니다.

+0

좋아, 내가 한 일은 업로드 된 zip 파일을 640 chmod로 변경하여 공개적으로 파일에 직접 액세스하지 못하게하고 파일에서 읽기/쓰기가 가능하도록 해줍니다. "is"소유자 인 PHP 스크립트에 의해 제공됩니다 ... –

0

디렉토리를 암호로 보호하고 해당 디렉토리에 zip 파일을 넣을 수 있습니다. 포괄적 인 가이드 방법은 here입니다.

+0

나는 그들을 막는 다른 방법을 찾고 있습니다 ... 그들이 시도하면 404와 비슷합니다 ... –

+0

비밀번호를 잊어 버리지 않고 실제로 접근 할 수 없으면 밖에서 파일을 왜 가지고 있습니까? 그냥 당신의 webroot에 넣지 마십시오 그것은 보이지 않을 것입니다. 비록 당신의 웹 루트에 있지 않더라도 여전히 (PHP) 스크립트에 의해 사용될 수 있습니다. 그래서 당신이 그것을 필요로한다면, 당신은 여전히 ​​다른 곳으로 파일을 옮길 수 있습니다. – GolezTrol

0

무엇 이것에 대해 - zip 파일을 제공하기 위해 인증 페이지 사용 passthru()에서 다음 인증을 수행하고 페이지로 .ZIP 끝나는 모든 URL을 다시 작성 http://httpd.apache.org/docs/1.3/mod/core.html#files

+0

그래, 내가 htaccess에서 이러한 지시문 중 일부를 시도했지만 작동하지 않았다 ... –

2

사용 mod_rewrite를.

이 같은

뭔가 (상자 밖으로 작동하지 않을 수 있습니다 단지 당신에게 아이디어를주고) :

RewriteRule ^(.*?\.zip)$ authMe.php?url=$1 

은 여기 읽고 : 여기 http://httpd.apache.org/docs/current/mod/mod_rewrite.html

그리고 : http://php.net/manual/en/function.passthru.php

+0

나는이 (rewriterule)의 조합을 시도했지만 여전히 작동시키지 못했습니다 ... 나는 여전히 URL을 붙여 넣을 수 있습니다. 브라우저에있는 파일을 다운로드하고 ... –

+1

그러면 rewriterule이 URL과 일치하지 않습니다. 모든 것과 일치하는 것을 시도한 다음 authMe 페이지에 있는지 확인하십시오. 예를 들어 다음과 같습니다. RewriteRule^(*) $ authMe.php? url = $ 1 그런 다음 일치 규칙을 ZIP 파일 또는 XYZ 폴더에있는 모든 파일로 제한하십시오. RewriteRule^XYZ/([^ /] *) $ authMe.php? url = $ 1 – Bazzz

관련 문제