IT TIP

파일 다운로드를 추적하는 방법

itqueen 2020. 10. 16. 19:20
반응형

파일 다운로드를 추적하는 방법


플래시 플레이어에서 mp3를 재생하는 웹 사이트가 있습니다. 사용자가 '재생'을 클릭하면 플래시 플레이어가 자동으로 mp3를 다운로드하고 재생을 시작합니다.

특정 노래 클립 (또는 바이너리 파일)이 다운로드 된 횟수를 쉽게 추적 할 수있는 방법이 있습니까?


재생 링크가 실제 mp3 파일 또는 플레이어를 표시하는 일부 자바 스크립트 코드에 대한 링크입니까?

후자의 경우 자신의 로깅 코드를 쉽게 추가하여 히트 수를 추적 할 수 있습니다.

전자의 경우 웹 서버 로그 자체를 추적하고 구별 할 수있는 무언가가 필요합니다. 내 호스팅 계획은 Webalizer와 함께 제공됩니다.

그것은 자바 스크립트 코드이므로 대답합니다.

그러나 다른 방법 (호스트 전환없이)을 사용하여 다운로드를 추적하는 방법을 아는 것이 좋습니다.


재미있는 점은 2 일 전에 모든 음악에 대한 PHP 미디어 갤러리를 작성했다는 것입니다. 비슷한 문제가있었습니다. 플레이어에 http://musicplayer.sourceforge.net/사용하고 있습니다 . 그리고 재생 목록은 php를 통해 작성됩니다. 모든 음악 요청은 xfer.php? file = WHATEVER라는 스크립트로 이동합니다.

$filename = base64_url_decode($_REQUEST['file']);
header("Cache-Control: public");
header('Content-disposition: attachment; filename='.basename($filename));
header("Content-Transfer-Encoding: binary");
header('Content-Length: '. filesize($filename));

//  Put either file counting code here. either a db or static files

//

readfile($filename);  //and spit the user the file


function base64_url_decode($input) {
    return base64_decode(strtr($input, '-_,', '+/='));
}

그리고 파일을 호출 할 때 다음과 같은 것을 사용합니다.

function base64_url_encode($input) {
     return strtr(base64_encode($input), '+/=', '-_,');
}

http://us.php.net/manual/en/function.base64-encode.php

mp3 파일 등의 실제 링크가 필요한 자바 스크립트 또는 플래시 플레이어 (예 : JW 플레이어)를 사용하는 경우 "& type = .mp3"텍스트를 추가하여 최종 링크가 "www"가되도록 할 수 있습니다. .example.com / xfer.php? file = 34842ffjfjxfh & type = .mp3 " 이렇게하면 파일 링크에 영향을주지 않고 mp3 확장자로 끝나는 것처럼 보입니다.


httpd 로그 파일을 사용하십시오. http://awstats.sourceforge.net/ 설치


bash 사용 :

grep mp3 /var/log/httpd/access_log | wc

노래 / 바이너리 파일이 Apache에서 제공되는 경우 access_log를 쉽게 grep하여 다운로드 수를 확인할 수 있습니다. 간단한 post-logrotate 스크립트는 로그를 grep하고 db에서 카운트 통계를 유지할 수 있습니다. 이것은 라이브 요청 코드 경로에 있지 않기 때문에 성능상의 이점이 있습니다. 오프라인 통계와 같이 중요하지 않은 작업을 수행하는 것은 웹 사이트를 많은 사용자로 확장하는 것이 좋습니다.


* .mp3 요청을 dubayou가 작업중인 쿼리 문자열로 변환하는 Apache .htaccess 지시문을 설정할 수도 있습니다. 직접 요청을 유지하면서 여전히 로그 기능을 응답에 포함시킬 수있는 우아한 방법 일 수 있습니다.


재생 링크가 실제 mp3 파일 또는 플레이어를 표시하는 일부 자바 스크립트 코드에 대한 링크입니까?

후자의 경우 자신의 로깅 코드를 쉽게 추가하여 히트 수를 추적 할 수 있습니다.

전자의 경우 웹 서버 로그 자체를 추적하고 구별 할 수있는 무언가가 필요합니다. 내 호스팅 계획에는 webalizer가 포함되어 있습니다.


음악 라이브러리에 대한 데이터베이스가 있습니까? mp3를 다운로드 할 때 실행되는 서버 코드가 있으면 여기에 추가 코드를 추가하여 재생 횟수를 늘릴 수 있습니다. 자바 스크립트가 재생 횟수를 늘리기 위해 두 번째 요청을 할 수도 있지만 이로 인해 사람 / 로봇이 잘못 횟수를 늘릴 수 있습니다.

나는 인터넷 라디오 사이트에서 일했고 우리는 모든 노래가 재생 된 시간을 추적하기 위해 별도의 테이블을 사용했습니다. 우리의 스트림은 icecast를 실행하는 perl 스크립트로 구동되었으므로 새 트랙이 재생되기 시작할 때마다 데이터베이스 요청을 트리거했습니다. 그런 다음 재생 횟수를 계산하기 위해 노래의 ID가 재생 로그에 몇 번 있는지 계산하는 쿼리를 실행합니다.


AWStats / 웹 서버 로그 읽기와 같은 문제는 대용량 다운로드가 종종 로그 내에서 데이터 청크로 분할 될 수 있다는 것입니다. 이로 인해 정확한 다운로드 수를 조정하기가 매우 어렵습니다.

다운로드 링크를 클릭 할 때마다 한 번씩 등록 되므로 Google Analytics 이벤트 추적을 사용 하는 것이 좋습니다 .

참고 URL : https://stackoverflow.com/questions/146/how-do-i-track-file-downloads

반응형