테스트 사이트 - 개발 중인 베타 버전입니다

curl 함수를 이용한 HTTP_REFERER 변경

· 19년 전 · 6962 · 8
<?
$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>

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 8개

좋은 정보 감사합니다.

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
감사합니다.^^
2박3일 헤메던 답을 여기서 찾았습니다.
뒷북이라도 기분 좋습니다.

관련 내용 http://www.sir.co.kr/bbs/tb.php/pl_php/120 코멘트에 올려놓겠습니다.
샘플 url :
http://82da.com/Ybbs/sample/Yfsockopen.php
좀 연구를 해봐야 실마리라도 잡을것 같습니다.
어렵네요.

휴우~~~
고맙습니다.
눈높이 대화 요망 ( _ _)

게시글 목록

번호 제목
17914
1987
1985
1984
1983
1982
1981
1980
1977
1975
1968
1944
1940
1938
1936
1934
1932
1930
1901
1858
1813
1790
1750
1738
1721