2008. 2. 2. 00:40

홈페이지를 운영하다보면 파일의 자료가 외부로 링크되어 트래픽을 잡아먹는 일이 많이 있습니다.
폴더의 이름을 매일 바꾸지 않는 이상 원천적으로 막기는 힘듭니다. Activex 를 이용한 방법도 있지만 잘 안쓰는 편입니다.
사용자 입장에서도 Activex 다운로드는 좋아하지 않죠.

php 로 다운로드경로를 숨길수 있으며, download.php?filename=file.exe 라는 링크로 다운을 받게 하는 방법입니다.
외부에서도 실행이 불가능 하며, 리퍼러를 체크하여 같은 도메인이면 실행, 리퍼러가 없거나 타 도메인이면 에러를 띄웁니다.

download.php

<?
$referer = $_SERVER['HTTP_REFERER'];

if(strstr($referer, "도메인")!=false){
$filename = $filename;
Header("Location: http://도메인/폴더경로/{$filename}");

} else {

echo "에러. 다운로드불가.";
}
?>


다운을 받을수 있는 링크는
download.php?filename=file.exe
이런식으로 링크를 걸어주면 됩니다.
폴더가 변수일경우 폴더경로도 변수로 집어넣어 링크를 걸어주면 됩니다.

관련글 보기
2008/01/28 - [윈도우즈/컴퓨터] - [PHP] fsockopen 으로 웹서버 온라인 오프라인 상태체크하기
2007/10/11 - [멀티미디어] - php 웹 탐색기 - PHP Navigator 3.2

Posted by jinmoda