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>
$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
0
댓글 8개

좋은 정보 감사합니다.
curl은 설치안된 시스템이 많아서
거의 살펴보지 않고, 그냥 fsockopen을 이용해서 여러가지를
해왓었는데, 이번기회에 많이 살펴봐야 겠습니다.
너무 간단하네요.
curl은 설치안된 시스템이 많아서
거의 살펴보지 않고, 그냥 fsockopen을 이용해서 여러가지를
해왓었는데, 이번기회에 많이 살펴봐야 겠습니다.
너무 간단하네요.

curl이 뭔가요? -.ㅠ

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
다음의 방법으로도 리퍼러를 속일수 있습니다.
물론 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 코멘트에 올려놓겠습니다.
2박3일 헤메던 답을 여기서 찾았습니다.
뒷북이라도 기분 좋습니다.
관련 내용 http://www.sir.co.kr/bbs/tb.php/pl_php/120 코멘트에 올려놓겠습니다.

좀 연구를 해봐야 실마리라도 잡을것 같습니다.
어렵네요.
휴우~~~
어렵네요.
휴우~~~

고맙습니다.

눈높이 대화 요망 ( _ _)