2012-12-29 5 views
0

내 웹 사이트의 공개적으로 액세스 할 수있는 부분 외의 폴더에 여러 파일이 저장되어 있습니다.서버의 비공개 섹션에있는 파일에 다운로드 링크 제공

는 예를 들어, 파일 'abcd.jpg''/home/private_files/'에서 (서버의 관점에서) 저장되고 내가 파일을 볼 수있는 링크를 제공하기 위해 갈 때 웹 사이트는, 내가 사용 '/home/public_html/website.com/'

<a href="/home/private_files/abcd.jpg">Download</a> 그러나 이것은 작동하지 않습니다.

제안 사항?

답변

0

서버로 아파치를 사용하는 경우, 당신은 httpd.conf 파일의 디렉토리 별칭을 설정할 수 있습니다 ...

Alias /images/ "/home/private_files/" 

<Directory "/home/private_files/"> 
    Options Indexes MultiViews 
    AllowOverride None 
    Order allow,deny 
    Allow from all 
</Directory> 

</IfModule> 

당신이

<a href="/images/abcd.jpg">Download</a> 
+0

나는이 시도를 줄 것 같은

ln -s /home/private_files/abcd.jpg /home/www/abcd.jpg 

및 마감 후 링크를 ​​삭제 (Rapidshare는 같은)

또는 파일 다운로드를 사용, 감사 ! 하지만 'www.mysite.com/images/abcd.jpg'에 가면 파일을 볼 수 있습니까? 내가 비공개 폴더에 넣는 이유는 이것을 막기 위해서 였기 때문에? – sotirios9

+0

@ sotirios9 당신이 사용자들에게 링크 한 모든 것은 직접 액세스 할 수 있습니다 ... –

+0

당신은 이것을 당신의 IP 주소로만 접근 할 수 있도록 디렉토리 구조에 [Your ip ADDRESS]를 허용 할 수 있습니다.이 주소는 당신에게 유용합니다. – Afsar

0
을 사용할 수 있습니다

www가 아닌 ​​디렉토리에 액세스 할 수 없습니다.

사용 symlink이 파일에 링크 : this

+0

나는 또한 이 기회를 포기 하시겠지만 PHP에서 어떻게 할 수 있을지 제안 해 주실 수 있습니까? – sotirios9

+0

내가 연결된 수업을 보지 못했다고 생각합니다. 이 ** bold **'readfile ('/ home/private_files/abcd.jpg');을 사용하여 파일을 읽은 다음 헤더를 사용하여 ** bold **'header ('Content-Type : application/octet-stream '); 헤더 ("Content-Transfer-Encoding : Binary"); 헤더 ("Content-disposition : 첨부 파일; filename = \"new_file_name \ ""); ' – Maysam

관련 문제