2011-04-11 4 views
1

저는 비디오를 온라인으로 투표 할 수있는 시스템을 구현했습니다. 방문자는 특정 날짜에 한 번만 투표 할 수 있습니다. 나는 그들의 이메일 주소와 타임 스탬프의 조합을 사용하여 각 날마다 투표가 고유한지 확인합니다.사람들이 하루에 한 번 투표 할 수있는 투표 시스템을 게임에서 방지하려면 어떻게해야합니까?

추측 할 수 있듯이, mailinator.com 등에서 일회용 이메일 주소를 등록하여 시스템을 게임하는 사람들로 이어집니다. 따라서 동일한 투표 결과가 여러 번 투표 할 수있는 다른 투표 알고리즘을 구현하려는 사람이 있는지 궁금합니다. 사람. 또한이 설정은 비디오 # 1이 비디오 # 2보다 관련된 사람이 더 많은 경우 비디오 # 1이 이미 불공 평한 이점을 가지고 있음을 의미합니다.

나는 순위가 매겨진 시스템에 대해 생각하고 있지만 가짜 전자 메일 주소로 시스템을 게임하는 사람을 막을 수있는 방법을 완전히 모르겠습니다.

을 감안할 때 3 개 비디오, A, B과의 오명을 가지고 X. A, B 2를 가지고 있으며, X는 X가 가정 4.
있습니다 내가 해결하기 위해 노력하고있어 문제는 이런 식입니다 3 명의 최고의 비디오, 그리고 사람들이 매일 투표 할 수있는 "B"가 정상에 오르는 데 도움이 될 투표 시스템이 있습니까?

내가 말했듯이, 내 제안 평가 시스템, # 2의 양의가 # 1의를 능가하는 경우, 승자해야 있다고 가정하는 것이 안전하다고 가정하는 것입니다,하지만 불완전 보인다.

누구도 이와 비슷한 태클을 한 적이 있습니까? 마음에, 이들은 꽤 낮은 볼륨 결과 (우리는 평균 약 500 표/7 일), 그래서 2 사람들이 정말 차이를 만들 수 있습니다.

공유 호스팅 환경에서 LAMP (PHP) 스택을 사용하면 도움이됩니다.

동일한 사람이 여러 번 투표 할 수있는 이유가 궁금한 경우, 높은 상향식 광고가 이것이 사이트 트래픽을 늘리는 데 도움이되고 실제로 그래프가 올라가는 것을 즐기기 때문입니다. 후속 히트는 꽤 의미가 없습니다.)

미리 감사드립니다. 다른 정보가 필요하면 알려주십시오.

+0

[EverCookie] (http://en.wikipedia.org/wiki/Evercookie)에서 사용하기 좋은 소리입니다. – drudge

+2

@jnpcl : 이러한 것들은 금지되어야합니다. 대신 실제 로그인 시스템을 사용하십시오 (또는 OpenID를 사용하십시오), 마침표. –

+0

@Alexandre : 죄송 합니다만, 풍자는 텍스트에서 손실됩니다. 나는 스마일을 더해야했다. ;) – drudge

답변

2

당신은 실제로 약 두 개의 가지를 요구하는지? 이것은 꽤 다루기가 어렵습니다. 등록을 요구하거나 SO와 같은 최소한의 평판이나 다른 제한 사항을 적용하여 투표를 할 수있는 바를 높일 수는 있지만 궁극적으로는 부정 행위를 줄이는 것이지 그것을 제거하는 것이 아닙니다. 사람들이 실제 정치 선거를 위해 여러 차례 성공적으로 등록한 다음 사이트에서 부정 행위를 모두 제거 할 수있는 가능성을 평가하십시오.

둘째, 다른 인기를 얻었을 수도 있고 다른 시간대에 주변에 있었던 다른 품목에 대해 공정한 품질의 순위를 부여하는 방법은 무엇입니까? 하나의 아주 좋은 해결책은 Randall Munroe의 here입니다. 이 기사는 실제 알고리즘에 링크되어 있으며 구현하기가 쉽습니다.

+0

XKCD에 링크 된 솔루션은 다리가있을 것처럼 보입니다. 나는 더 자세히 살펴볼 것입니다. 감사! – leo

1

로그인 시스템없이 문제를 해결할 수있는 방법은 없습니다. 계정을 만들기 위해 여러 단계를 거쳐야하는 실제 인증 시스템을 제공하지 않으면 사람들은 시스템을 계속 무너 뜨릴 것입니다. 그런데 OpenID는 아주 좋습니다.

쿠키가 많은 쿠키는 사용하지 마십시오 (특히 Evercookie는 사용하지 마십시오). 이는 사용자의 개인 정보를 침해하는 행위입니다. 나는 내 컴퓨터에 좀비 쿠키가 절대로 필요하지 않을 것이다.

게이머가 게임을 계속하는 경우 가비지 계정에 수동으로 플래그를 지정하고 해당 투표를 삭제하는 것 외에는 수행 할 수있는 작업이 없습니다.

또는 투표에 필요한 최소 담당자 (예 : StackOverflow)를 사용하여 평판 기반 시스템을 운영 할 수 있습니다.

빠른 보안 작업 솔루션을 원하면 OpenID을 확인하십시오.

+0

openid는 단순히 계정이 아닌 온라인 사용자를 식별하는 문제를 해결하지 않습니다. 문제는 조금만 결정된 것에서 약간 결정된 것으로 옮겨 갈 것입니다. – hop

+0

@hop : Openid는 1) 구현하기 쉽다는 장점이 있습니다. 2) 많은 계정을 열면 길기 때문에 사람들이 많은 계정을 만들지 못하게합니다. 이것만으로도 일부 사용자를 저해 할 수 있습니다. 대리점 일도 좋습니다. –

+0

"일부 사용자"는이 솔루션을 쓸모 없게 만드는 것이며, 현재 "오래 걸리는"프로세스 (나는 매우 의심 스럽습니다)는 내일 자동화 될 것입니다. 내가 말했듯이, 그것은 문제를 조금 더 결정된 나머지 나머지는 사기꾼으로 옮길뿐입니다. – hop

1

이 Q & 그물에 플랫폼이있다 - 당신이 이제까지 들어 본 알고하지 않습니다 - 그것은라고 stackoverflow.com ;-)

은 어쩌면 당신은이 사이트의 평가 시스템을 채택 할 수있다 ?주어진 등급의 사용자 만 여러 가지 방법으로 시스템을 조작 할 수 있도록하는 것이 현명하다는 것을 알게되었습니다. 계정 연령에 따라 사용자를 선택할 수 있습니다 (예 : 등록 후 2 주 후에 만 ​​투표 할 수 있음). 또는 평판 시스템의 일종으로 사용자를 선택할 수 있습니다. 어떻게 시스템을 게임을 사람들을 방지 할 수

첫째 :

+0

내가 영리하다고 느낀 점은 어떤 방식 으로든 시스템을 조작하기 위해 제로의 담당자 (예 : 더미 계정)가있는 사용자를 허용하지 않는 것입니다. –

관련 문제