newtype
::: newtype의 지식창고 :::
newtype
전체 방문자
오늘
어제
  • 분류 전체보기 (392)
    • Dev (214)
      • C, C++ (43)
      • Go (5)
      • Web (49)
      • DBMS (21)
      • DevOps (8)
      • Java (2)
      • Windows, Win32 (4)
      • Visual Basic (5)
      • C# (2)
      • Mobile (25)
      • SQL CE (7)
      • Google Map (6)
      • Python (2)
      • cygwin (2)
      • 기타 (32)
      • Ruby (1)
    • 명언 (10)
    • 모임 (18)
      • 붕주회 (3)
      • 신흥컴정 (14)
      • 웹20기 (1)
    • 사진 (8)
    • 불펌 (29)
    • 막글 (98)
    • 게임 (6)
    • 여행 (8)

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • 관리

공지사항

  • whoami
06-03 20:18
hELLO · Designed By 정상우.
newtype

::: newtype의 지식창고 :::

Dev/Web

이미지 링크 방지된것 뚫기

2006. 5. 19. 10:31
원문 URL
http://blog.naver.com/siso821/20001194757

소켓을 이용해 이미지를 직접 받아 보여준다는 내용 같은데,

직접 테스트 해보지는 않았습니다.


[원문]=-=-=-=-=-=-=-=-=--=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
꼭 네이버에 해당하는건 아니지만 이미지 링크방지된곳을 뚤 수 있다는 대강의;;내용입니다

그냥 링크 : <IMG SRC="
http://blogfiles13.naver.net/data1/2004/2/21/44/kaegukgi.gif" />
프로그램 링크 : <IMG SRC="
http://wince.or.kr/php-bin/link.html?url=http://blogfiles13.naver.net/data1/2004/2/21/44/kaegukgi.gif" />


<?php
function link_data($url, $ref='')
{
$urls=explode('/', $url);
$host=$urls[2];
$page=str_replace("http://$host", "", $url);
$request_header  = "GET $page HTTP/1.0\r\n";
$request_header .= "Host: $host\r\n";
$request_header .= "Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, */*\r\n";
$request_header .= "Accept-Language: ko\r\n";
$request_header .= "Accept-Encoding: gzip, deflate\r\n";
if($ref) $request_header .= "Referer: ".$ref."\r\n";
$request_header .= "User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows 98)\r\n";
$request_header .= "Cache-Control: no-cache\r\n";
$request_header .= "Connection: Keep-Alive\r\n";
$request_header .= "Content-Type: application/x-www-form-urlencoded\r\n";
$request_header .= "\r\n";

$socket = @fsockopen($host,80,$errno,$errstr,30);
if($socket){
fwrite($socket,$request_header);
do $header .= fread($socket,1); while (!preg_match('/\\r\\n\\r\\n$/',$header));

if (preg_match('/Transfer\\-Encoding:\\s+chunked\\r\\n/',$header)) {

do {
$byte = "";
$chunk_size="";
do {
$chunk_size.=$byte;
$byte=fread($socket,1);
} while ($byte!="\\r");

fread($socket, 1);
$chunk_size = hexdec($chunk_size);
$result .= fread($socket,$chunk_size);
fread($socket,2);
} while ($chunk_size);

} else {
if(preg_match('/Content\\-Length:\\s+([0-9]*)\\r\\n/',$header,$matches)) {
$result = fread($socket,$matches[1]);
}else{
while (!feof($socket)) $result .= fread($socket, 4096);
}
}

fclose($socket);
} else {
die('Server Connect Error');
}
return $result;
}


echo link_data($_GET[url], '
http://blog.naver.com');
?>

반응형

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

자스크립트로 마우스 위치 얻기(IE, FF)  (4) 2006.05.23
테터툴즈에서 내 도메인을 리퍼러에 나오지 않게 하기  (0) 2006.05.22
proxy 서버를 이용한 웹 서핑  (0) 2006.04.18
UTF-8 인코딩 방식으로 다국어 페이지 만들기  (0) 2005.06.21
자바스크립트용 email 주소 검사 함수  (0) 2005.06.21
    'Dev/Web' 카테고리의 다른 글
    • 자스크립트로 마우스 위치 얻기(IE, FF)
    • 테터툴즈에서 내 도메인을 리퍼러에 나오지 않게 하기
    • proxy 서버를 이용한 웹 서핑
    • UTF-8 인코딩 방식으로 다국어 페이지 만들기
    newtype
    newtype
    지극히 개인적인 지식의 창고

    티스토리툴바