티스토리 뷰

Programming/Web

PHP image proxy script

ljh131 2011.08.26 23:14
웹 이미지가 referer를 사용한 hotlinking preventation이 되어있으면 <img> tag로 이미지를 가져올 수 없다.
 
이 때 image proxy가 필요한데, 아래처럼 php로 간단하게 구현이 가능하다. HTTP GET 요청 시 헤더에 referer만 추가로 넣어주는 코드이다.
 
<imgproxy.php>
 
   1: <?
   2: $opts = array('http' =>
   3:     array(
   4:         'method'  => 'GET',
   5:         'header'  => 'Referer: ' . $_GET['referer'],
   6:     )
   7: );
   8:  
   9: $context  = stream_context_create($opts);
  10:  
  11: header('Content-Type: image/jpg');
  12: echo file_get_contents($_GET['imgsrc'], false, $context);
  13: ?>

 

테스트:

   1: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
   2: <html>
   3: <head>
   4: <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
   5: </head>
   6:  
   7: <body>
   8: <img src='http://localhost/imgproxy.php?imgsrc=http%3A%2F%2Fthimg.todayhumor.co.kr%2Fupfile%2F201108%2F1314365171152_1.JPG&referer=http%3A%2F%2Ftodayhumor.co.kr%2Fboard%2Fview.php%3Fkind%3D%26ask_time%3D%26search_table_name%3D%26table%3Dhumorbest%26no%3D382472%26page%3D1%26keyfield%3D%26keyword%3D%26mn%3D%26nk%3D%26ouscrap_keyword%3D%26ouscrap_no%3D%26s_no%3D382472%26member_kind%3D'/>
   9: </body>
  10: </html>

'Programming > Web' 카테고리의 다른 글

PHP image proxy script  (0) 2011.08.26
XPath로 HTML문서 접근하는 방법.  (0) 2007.08.13
비주얼 스튜디오로 자바스크립트 디버깅 하기  (0) 2007.08.06
댓글
댓글쓰기 폼