봇이 PHP에서 파일 다운로드 카운터를 증가시키는 것을 막으려면 어떻게해야합니까?

StackOverflow https://stackoverflow.com/questions/235558

  •  04-07-2019
  •  | 
  •  

문제

사용자가 내 웹 사이트에서 파일을 다운로드하기 위해 링크를 클릭하면 이 PHP 파일 해당 파일의 다운로드 카운터를 증가시킨 다음 Header ()-실제 파일로 리디렉션합니다. 그러나 봇이 다운로드 링크를 따르고 있다고 생각하므로 다운로드 횟수가 정확하지 않습니다.

  • 봇이 링크를 따르지 않아야한다는 것을 봇에게 알리는 방법은 무엇입니까?
  • 대부분의 봇을 감지하는 방법이 있습니까?
  • 파일이 얻는 다운로드 수를 계산하는 더 좋은 방법이 있습니까?
도움이 되었습니까?

해결책

robots.txt : http://www.robotstxt.org/robotstxt.html

모든 봇이 그것을 존중하는 것은 아니지만 대부분은합니다. 봇을 통해 액세스를 방지하려면 get 대신 게시물을 링크하십시오. 봇은 포스트 URL을 따르지 않습니다. (즉, 문제의 URL로 이동하는 사이트로 다시 게시하는 작은 양식을 사용하십시오.)

다른 팁

나는 Godeke의 robots.txt 답변이 충분할 것이라고 생각합니다. 봇이 카운터를 절대적으로 가질 수 없다면, 클릭을 일부로 증가시키지 않으면 서 로봇 파일을 사용하는 것이 좋습니다. 일반적인 로봇 사용자 에이전트.

어느 쪽도 완벽하지는 않지만, 둘의 혼합물은 아마도 조금 더 엄격 할 것입니다. 나라라면, 아마도 쉽고 가장 효과적인 솔루션이기 때문에 로봇 파일을 고수 할 것입니다.

Godeke는 옳습니다. Robots.txt는 봇이 다운로드되는 것을 막기 위해 가장 먼저해야 할 일입니다.

계산과 관련하여 이것은 실제로 웹 분석 문제입니다. WWW 액세스 로그를 유지하고 다음과 같은 분석 프로그램을 통해 실행하지 않습니까? 웹 볼 라이저 또는 Awstats (또는 웹 트렌드 또는 성게와 같은 멋진 대안? 나에게 그것은 이런 종류의 정보를 수집 할 수있는 방법입니다. 왜냐하면 사용자가 파일을 다운로드 할 때 쉽고 PHP, 리디렉션 또는 기타 성능이 없기 때문입니다. 어쨌든 보관하고있는 Apache 로그를 사용하고 있습니다. (그리고 grep -c 특정 파일 또는 와일드 카드 패턴에 대한 빠른 'n'더티 카운트를 제공합니다.)

봇 또는 특정 사용자 에이전트 및 기타 기준으로 히트를 무시하도록 통계 소프트웨어를 구성 할 수 있습니다 (나중에 기준을 변경하면 이전 로그 데이터를 재 처리합니다). 물론, 이것은 당신이 당신의 모든 오래된 통나무를 모두 가지고 있어야하므로, 당신이 같은 것을 던지는 경우 logrotate 역사적 데이터없이 시작해야합니다.

Robots.txt를 사용하지 않는 악성 봇을 감지 할 수도 있습니다. http://www.bad-behavior.ioerror.us/.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top