curl 함수를 이용한 HTTP_REFERER 변경 > 퍼블리셔팁

퍼블리셔팁

퍼블리싱과 관련된 유용한 정보를 공유하세요.
질문은 상단의 QA에서 해주시기 바랍니다.

curl 함수를 이용한 HTTP_REFERER 변경 정보

HTML curl 함수를 이용한 HTTP_REFERER 변경

본문

<?
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "호출할 파일.php");
curl_setopt($ch, CURLOPT_REFERER, "변경할 리퍼러 URL");
curl_exec($ch);
curl_close($ch);
?><div class='small'>[이 게시물은 관리자님에 의해 2011-10-31 17:12:10 PHP & HTML에서 이동 됨]</div>
추천
0
  • 복사

댓글 8개

좋은 정보 감사합니다.

curl은 설치안된 시스템이 많아서
거의 살펴보지 않고, 그냥 fsockopen을 이용해서 여러가지를
해왓었는데, 이번기회에 많이 살펴봐야 겠습니다.

너무 간단하네요.
curl을 사용할 수 없는 경우라면
다음의 방법으로도 리퍼러를 속일수 있습니다.

물론 file이나 fopen 대신 사용할수도 있습니다.

아래의 소스를 파일로 만들어서 저장한다음
읽어올 테스트 파일도 하나 만듭니다. 그 파일내에 <?=$_SERVER['HTTP_REFERER']?> 라고 넣고 저장합니다.

이하 소스입니다.

<?php

$url = "http://82da.com/Ybbs/sample/fsockopen_test.php";//읽어올 url
$referer = "http://test.com/";//속일 리퍼러

$array = parse_url($url);
$url_scheme = $array['scheme'];
$url_server = $array['host'];
$url_path = $array['path'];
$url_query= $array['query'];
$url_port = (empty($array['port'])) ? 80 : $array['port'];

$fp = fsockopen($url_server, $url_port);

if (empty($fp)) {

  echo "error-http소켓접속에 실패하였습니다.";
  exit;
}

fputs($fp, "GET " . $url_path . "?" . $url_query . " HTTP/1.0\n");
fputs($fp, "Accept: */*\n");
fputs($fp, "Content-Type: application/x-www-form-urlencoded\n");
fputs($fp, "Host: $url_server:$url_port\n");
fputs($fp, "Referer: $referer\n");
fputs($fp, "Cache-control: private\n");
fputs($fp, "Pragma: no-cache\n");
fputs($fp, "Connection: close\n\n");

$text = '';
while (!feof($fp)){

  $text .= fgets($fp, 1024);
}

fclose($fp);

echo $text;

?>


참고문서 : http://kr2.php.net/manual/kr/function.fsockopen.php
감사합니다.^^
2박3일 헤메던 답을 여기서 찾았습니다.
뒷북이라도 기분 좋습니다.

관련 내용 http://www.sir.co.kr/bbs/tb.php/pl_php/120 코멘트에 올려놓겠습니다.
© SIRSOFT
현재 페이지 제일 처음으로