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

curl 함수를 이용한 HTTP_REFERER 변경

· 19년 전 · 6959 · 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
좀 연구를 해봐야 실마리라도 잡을것 같습니다.
어렵네요.

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

게시글 목록

번호 제목
17964
2024
JavaScript Samba 설정
2020
2019
17955
2010
17931
HTML if 23
17923
2002
12583
12581
12580
12575
17917
2000
1997
1996
1995
1994
17916
1993
1992
1991
1989
1988