파일경로 숨기기 & 링크방지
자료같은거 올려놓으면... 링크해가시는 분들 있습니다..
머..굳이.. 그걸 막으시려면.. 사용하셔도 좋을듯 싶네요..
하지만.. 예의갖춘 온라인을 지향하기 위해서.. 그런 링크훔치는 행위는 하지맙시다...^^;;
파일명: nolink.php
<?
$home = "도메인명";
/*홈페이지 주소 중에 도메인명만..
ex) http://supermandoo.com 이면.. supermandoo 만..
*/
$dir = "디렉토리경로";
//자료들을 닮을 디렉토리경로
//자기만 알수 있게 .. 해두시면.. 사람들이 경로 캐내기가 어렵겠죠 ^^
function nolink() {
global $name,$dir;
$filesize =filesize("$dir/$name");
$fp = fread(fopen( "$dir/$name", "r"), $filesize);
/*
php파일이든 htm파일이든 무엇이든 바로바로 다운받게 하려면..
요부분에
$string = "Content-type: Unknown";
header($string);
를 추가 시키시면됩니다. ^0^;;
*/
$string = "\n";
header($string);
$string = "Content-length: $filesize";
header($string);
$string = "\n";
header($string);
$string = "Content-Disposition: inline; filename=$name";
header($string);
echo($fp);
}
//nolink 함수생성..
//(오렌지블루님의 책중 download.php를 참고했습니다 ^^;)
//해더를 이용하여 다운받을때.. 파일명을 알려주고
//또 파일사이즈를 정해두는 거겠죠.. ^^ fread함수를 이용하여..
//다운로드 받을수있게..또는 볼수있게 echo해주는고.. ^^
if(!eregi($home,$HTTP_REFERER)){
//환경변수를 이용하여.. 접속경로를 채크하구..
//만약.. 접속경로중.. 자기도메인명이 없으면..
echo"다른경로에서 접근하셧습니다.";
//경고표시
}else{
nolink();
//그렇지안으면.. 다운로드또는 보기
}
?>
쓰는 방법..
nolink.php?name=파일명
예제
http://dookikorea.wo.to/test/nolink/test/test.htm
참고로 이방법을 쓰면.. 만약에.. 딴홈페이지에서 자료를
링크해놨을경우.. 다운로드 받으면..
"다른경로로 접근하셧습니다"라는 메시지가 뜹니다.
또 플레쉬겟을 이용하여 다운받았을경우에는
nolink.php가 다운받아 지며.. 그 내용은..
"다른경로에서 접근하셧습니다"입니다.
[자료출처]
nzeo.com
http://supermandoo.com/cgi-bin/mandooboard//read.cgi?board=webtip&y_number=70&nnew=1
'PHP' 카테고리의 다른 글
CSS 및 JAVASCRIPT 소스 효과적으로 숨기기 (PHP이용) (0) | 2015.05.22 |
---|---|
PDO CRUD 예제 (0) | 2015.05.22 |
PHP Pagination 구현 (0) | 2015.05.05 |
PDO 예제 (0) | 2015.03.21 |
리눅스에서 SQLite 설치부터 실행까지.. (0) | 2014.02.03 |