홈페이지를 운영하다보면 파일의 자료가 외부로 링크되어 트래픽을 잡아먹는 일이 많이 있습니다.
폴더의 이름을 매일 바꾸지 않는 이상 원천적으로 막기는 힘듭니다. 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
이런식으로 링크를 걸어주면 됩니다.
폴더가 변수일경우 폴더경로도 변수로 집어넣어 링크를 걸어주면 됩니다.
파일다운로드 링크경로 숨기기 및 외부링크 차단하기