2012-08-01 2 views
0

몇 가지 질문이 있습니다. 나는 Joomla 내에서 일하고있다. 나는 referer.txt 할 수있는 참조 페이지를 작성하는이 PHP 코드를 사용하려고하지만 난 아무데도로 Joomla에서 'referer.txt'를 찾을 수 없습니다 :referer.txt에 HTTP_REFERER를 쓰려고하는데 작동하지 않습니다.

<?php 
$referer = get_en("HTTP_REFERER"); 
if($referer){ 
$fp=fopen("referer.txt","a")||die("Could not open referer file!"); 
fwrite($fp,$referer); 
fclose($fp); 
} 
?> 

준비의 페이지는 그러나 불을 지르고에서 오류가 발생하지 않습니다.

두목은 특정 페이지에 추천인의 기록을 원한다 (I 테스트 등이 특정 페이지를 사용하고 있습니다. 그것은 대상 페이지가 아닌).

내 질문은 :

  1. 위의 코드는 실패하지 않을 경우, 어디 도대체 줌라 시스템에있을 referer.txt 수 있을까? 이 일을하는 또 다른 방법은

  2. 있습니까? 예를 들어이 페이지 http://www.webvanta.com/post/248869-using-referrer-urls-to-better-understand은 자바 스크립트를 사용하여 리퍼러를 추적하는 쿠키를 작성하고이 사이트 http://webdesign.about.com/cs/loganalysistools/a/aaloganalysis.htm은 웹 로그 및 로그 분석 도구를 사용하도록 제안합니다.

이렇게하는 가장 좋은 방법은 무엇입니까?

+2

는'("HTTP_REFERER")''get_env ("HTTP_REFERER")'를 수를 get_en하지 않나요? – Tchoupi

+0

당신은 – PitaJ

+0

안녕 마티유을 referer.txt의 전체 경로를 지정해야합니다, 그래 내 나쁜 입력을 get_env해야합니다. PitaJ 감사합니다, 나는 전체 경로를 설정하려고합니다. – umbregachoong

답변

2

첫 번째 줄 $referer = get_en("HTTP_REFERER");get_en()을 사용하지만 내장 함수는 getenv()입니다.

현재 사용자의 리퍼러에 액세스하는 또 다른 방법은 $_SERVER['HTTP_REFERRER']; 매개 변수를 사용하는 것입니다. 문서에 따르면 getenv()을 사용하는 것과 같습니다.

아파치에 의해 생성 된 access_log 파일을 구문 분석하는 것입니다 리퍼러를 추적 할 수있는 서버 측 방법. 이 로그는 요청 날짜, 요청 유형 (GET, POST 등), 파일, 쿼리 문자열, IP, UserAgent 및 많은 유익한 부분을 제공합니다. referer.txt 파일이 저장되는 위치에 관해서는

하면 절대 경로를 사용하여 열한다. $fp=fopen($_SERVER['DOCUMENT_ROOT'] . '/referer.txt', 'a');을 사용하거나 $fp=fopen("/tmp/referer.txt", 'a');과 같은 사용자 지정 경로를 설정할 수 있습니다.