2011-07-05 6 views
0

게시물 뷰 카운터를 만들려고 노력하고 있습니다. 지금까지는 쉽지만, 다음과 같은 문제가 있습니다. 사용자가 다시 업데이트되는 페이지를 다시로드 할 때 원시 만 추적하고 싶지만 다시로드합니다. 어떻게 내가 이걸 만들 수 있니? 쿠키를 설정 하시겠습니까? 페이지 뷰/포스트보기 카운터

다음은 사이트 :이 작동합니다 :)

그리고 DB 업데이트에 대한 쿠키로하는 경우에 사이트가 + 10,000 이상 게시물을 가지고, 메신저 확실하지, 내가 갱신 낮은 우선 순위와 실시간으로 그것을해야, 또는 데이터를 저장하고 5 분마다 처리합니까?

김마 내가 입력 할 수있는 방법을 입력하십시오. 고마워요

+0

좋은 해결책을 찾았습니다 : 5 분 후에 배열에 i.p.log ID + DB를 업데이트하는 스크립트를 호출하고 ARRAY_UNIQUE 필터를 사용하면 가장 좋은 해결책은 아니지만 감사합니다. 당신이 입력을 위해 :) – MasterX

+0

session_id를 사용하거나 다른 사람이 같은 사무실에서 액세스하는 경우 사무실 당 하나의 방문 만 받게됩니다. –

답변

0

ip를 | 세션 ID | 같은 값의 조합을 삽입하거나 고유 한 값

+0

뭔가 smilar 감사 해, 내 의견을 내 게시물에 확인 :) – MasterX

0

히트가 업데이트 된 경우 쿠키를 var UPDATED를 1로 설정하는 등 쿠키를 사용하여 작업 할 수 있습니다.
하지만 COOKIE의 문제점은 누구나 편집 할 수 있기 때문에 사용자가 편집 할 수 없으므로 SESSION을 사용해 볼 수도 있습니다.
DB가 좋은 옵션이 아닙니다. Google Analytics도 사용해 볼 수 있습니다.

+0

세션이 COOKIE에 연결되어 있습니다. 사용자가 쿠키를 지우면 세션도 손실됩니다. – tucuxi

+0

나는 아무도 세션을 편집 할 수 없다고 말하며, 나는 '그들 스스로 세션에서 값을 변경할 수 없다'고했습니다. – Sourav

+0

편집 및 삭제 역시 다릅니다. – Sourav

0

또 다른 답을 복용하여하지만 과정을 나중에 삽입 돈`t 존재하는 경우 페이지 이드,

  • 는 '토큰 자원'을 추가하는 것입니다, Page View Counter like on StackOverFlow에서 제안 페이지 헤더에 <link href="https://stackoverflow.com/questions/246919/increment-view-count" type="text/css" rel="stylesheet" />과 같은 토큰 리소스는 경로로 인해 특정 페이지 여야하며 모든 최신 브라우저는 다운로드 한 리소스 파일을 캐시합니다.
  • 토큰 리소스가 새로 다운로드 될 때만 카운터를 증가시킵니다 (아파치의 mod-rewrite를 사용하여 깔끔한 URL을 유지 한 다음 증분 카운터에 매핑 할 수 있습니다). 이렇게하면 쿠키가 필요 없거나 [ip | 세션 | 페이지] 각 페이지 뷰에 대해 데이터베이스 요청 수를 줄입니다. 쿠키가 필요하지 않습니다.

[ip | 세션 | 페이지] 조합을 다시 공격 (두 경우 모두 누군가가 쿠키를 저장하지 않고 리소스 또는 페이지를 요청하는 엄격한 루프를 작성할 수 있습니다). 하지만 모든 요청을 계산하는 동안 악용을 피할 수있는 안전한 실패 방법은 없습니다 (NAT 때문에 모든 사용자에게 고유 한 IP에 의존 할 수는 없습니다).