2010-01-02 5 views
1

브라우저 게임에서 멀티 계정을 검색하고 싶습니다. 사용자가 둘 이상의 계정을 가지고 있다면이 사실을 알고 싶습니다.쿠키를 통해 멀티 계정 검색

여러 가지 이유로 더 이상 IP를 비교하여 다중 계정을 감지하고 싶지 않습니다. 사용자는 IP를 공유 할 수 있으며 IP는 변경하기 쉽습니다. 그래서 이것은 좋은 방법이 아닙니다.

대신 쿠키를 사용하여 계정을 검색하고 싶습니다. 이것이 좋은 해결책이라고 생각하십니까?

<?php 
$uniqueHash = md5($_SERVER['REMOTE_ADDR'].mt_rand(1, 100000)); // identify a single user 
if (isset($_COOKIE['uniqueHash'])) { 
    // UPDATE dbTable SET uniqueHash = '".$_COOKIE['uniqueHash']."' WHERE id = x 
} 
else { 
    setcookie('uniqueHash', $uniqueHash, time()+3600*24*30, '/', '.domain.com', FALSE, TRUE) 
} 
?> 

그런 다음 데이터베이스 테이블에서 동일한 uniqueHash 값을 가진 모든 사용자를 선택할 수 있습니다.

이 방법이 개선 가능합니까? 또는 완전히 나쁜 해결책?

플래시 쿠키는 어떻게됩니까? 그들은 더 낫지, 그렇지? 하지만 내 사이트에 플래시가 없는데 사용할 수는 없습니까?

미리 감사드립니다.

+2

쿠키가 IP 주소보다 변경하기가 어렵다고 생각하게 만드는 이유는 무엇입니까? –

+1

흠 ... 네 말이 맞아, 그들은 변하기가 더 어렵지 않아. 그러나 쿠키로 사용자를 감지 한 경우 사용자가 여러 계정을 보유하고 있음을 확신 할 수 있습니다. IP를 통해이를 감지하면 완전히 확신 할 수 없습니다. – caw

답변

3

로그인, ip, 해시 및 UserID에 대한 날짜가 포함 된 로그를 만드는 경우 사용자가 멀티 계정인지 여부를 알 수 있습니다. 자동 검색 기능은 거의 불가능합니다. 친구가 내 친구를 방문하면 컴퓨터에 로그인하여 내 계정을 확인할 수 있습니까?

그래서 모든 데이터를 기록한 다음 동일한 플레이어인지 아닌지에 대해 "멀티 헌터"- 인간의 모습을 확인하십시오.

+0

이것은 아마도 더 쉬운 해결책 일 것입니다. 나는 몇 명의 동료들과 함께 Travian이라는 웹 게임을하고, 다른 한 사람은 그가 다른 계정에 로그인했을 때 쿠키를 교환 할 수있는 빠른 도구를 작성했습니다. 그가 잡은 유일한 방법은 로그인 시간과 그의 IP 주소를 비교하는 인간이었다고 가정합니다. – David

+0

네, 쉽고 빠르게 로그 정보를 검색 할 수있는 훌륭한 Lucene/SOLR 기반 앱을 만듭니다. –

+1

대단히 감사합니다. 사람들이 여러 계정에 대한 로그를 확인할 수있게 해 주셨습니다. – caw

1

쿠키에 값을 저장하는 것이 ip의 imho를 비교하는 것보다 훨씬 나쁩니다. 쿠키를 변경하는 동안 쿠키를 변경/삭제하는 것은 매우 쉽습니다.

내가 가장 잘 생각하는 부분은 수상한 계정에 플래그를 지정하는 기본 AI 솔루션을 갖는 것입니다. 따라서 동일한 IP를 동시에 사용하는 다중 로그인 (IP 공유 또는 동시에 여러 브라우저가 될 수 있음)은 AI가 선택해야하는 것입니다. 다른 계정을 가진 동일한 ip의 로그 아웃과 로그인을 잠깐 살펴보십시오. ISP의 DHCP가 때때로 클라이언트에 새로운 IP를 제공하기 때문에 호스트 이름을 조회하고 사용하십시오. 그러나 호스트 이름은 동일하게 유지됩니다.

요점은 하나의 정보를 기반으로하는 해결책이 없다는 것입니다.

Btw, 또 다른 해결책은 사용자가 매우 적은 금액 (예 : $ 1)을 지불하도록 SMS를 보내 사용자가 자신의 계정을 확인하도록하는 것입니다.이 경우 많은 계정을 등록하는 것이 매력적이지 않습니다.

+0

고마워요, 지금 이걸 어떻게 할 건데요 :) – caw

관련 문제