2011-12-03 3 views
2

나는 좋아요/싫어하는 버튼이 있습니다. 페이지를 새로 고치지 않고 카운터를 업데이트 할 수 있도록 업데이트 패널에 넣었습니다. 사용자가 좋아할만한/싫어하는 버튼을 여러 번 클릭 할 수있는 문제와 될 것입니다 카운터 내가 내가 쿠키를 사용할 수있다 생각하면 사용자가 버튼을 클릭 할 수 있도록 할asp.net에서 쿠키 사용

을 변경하지만 사람이 제가

또한 감사 할 것이다 일을 도울 수 있다면 난 그렇게하기 전에 그것을 사용하지 않았다 더 나은 다른 솔루션이 있다면 알려주십시오.

감사의 말

답변

1

쿠키를 사용하는 대신 IP 주소를 통해 추적 할 수 있습니다.

IP 주소는 시간이 지남에 따라 변할 수 있으므로 쿠키와 함께 사용할 수 있지만 쿠키도 지울 수 있으므로 100 %는 아무것도 아닐 것입니다.

사용자가 좋아요를 클릭하거나 싫어하면 그 사람의 IP 주소를 같은 레코드와 함께 저장하십시오.

다른 사람이 좋아하거나 싫어하는 계산을 이미 중지 한 경우 중지하는 코드입니다.

그런 다음 업데이트에서 좋아요 또는 싫어요 버튼을 제거하고 개수 만 표시하십시오.

이것은 내 애플리케이션에 사용하는 것입니다. 나는 또한 페이스 북 앱을 가지고 있는데, 페이스 북 앱은 페이스 북 사용자 ID를 사용한다.이 페이스 북 사용자는 가짜로 만드는 것이 훨씬 어렵다.

나는 IP 주소가 누군가를 두 번 탐지하지 못하도록 막는 가장 좋은 방법이라고 생각합니다.

2

쿠키를 사용하려는 경우, 당신은 this page (이전 버전) 또는 this page (최신 버전)에서 볼 수 있습니다.

당신이 만드는 웹 사이트의 종류를 설명하지 않은,하지만 당신은 사용자 등록/로그인 메커니즘이있는 경우, 당신은 단지 특정 사용자가 데이터베이스에 같은 버튼을 클릭하는 정보를 저장할 수 .

로그인이 허용되지 않는 경우 사용자의 IP 주소를 확인하면 Adam으로 사용자를 식별 할 수 있습니다. 다음을 사용하여이 작업을 수행 할 수 있습니다 : 당신이 먼저 쿠키를 확인할 수 있기 때문에

String remoteAddress = HttpContext.Current.Request.UserHostAddress; 

또는

String remoteAddress = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"]; 

어느 쪽이든 나는 그것이 다른 방법과 함께 쿠키를 사용하는 것이 가장 좋은 것입니다 생각합니다. 사용자의 컴퓨터에있는 경우 이미 투표를했음을 알 수 있습니다. 쿠키가 없으면 데이터베이스 (IP 또는 로그인 메커니즘으로 식별)에 대한 저장된 정보를 쿼리 할 수 ​​있습니다. 이렇게하면 데이터베이스에 쿼리하는 횟수를 줄여 응용 프로그램의 성능에 좋을 수 있습니다.