2013-09-28 2 views
0

웹 사이트를 구축 중입니다. 사용자가 로그인하지 않고 투표를하길 원합니다. 그러나 각 사용자는 각 질문에 대해 하나의 투표 만 허용해야합니다 (스택 오버플로 투표 시스템과 유사). 나는 도시 사전 (http://www.urbandictionary.com/)에서 로그인없이 투표를 할 수있는 비슷한 somethig를 본다. ASP.NET MVC4에서이 작업을 수행하는 방법은 무엇입니까?사용자가 투표를 찾은 방법을 찾는 방법.

쿠키를 쉽게 지우고 다시 투표 할 수 있으므로 쿠키를 사용하고 싶지 않습니다. http://www.urbandictionary.com/은 어떻게 이것을 어떻게 생각하십니까?

+0

확인을 위해 여러 가지 조합을 시도해보십시오. IP 또는 쿠키, 또는 실제로 떠오르는 다른 것을 사용할 수 있습니다 (IE 브라우저 + OS). – Rogue

+1

일종의 인증없이 사용자 (최소한 기술적으로 전문가)는 언제든지 원하는 투표를 할 수 있습니다. 인증 양식으로 IP 주소를 사용하는 경우 사용자가 다이나믹 할당 주소로 라우터를 끄면 쉽게 해킹 될 수 있습니다. Stackoverflow 당신은 leat 15 담당자가없는 경우 upvotes 허용하지 않습니다 (그리고 당신은 긍정적으로 식별됩니다) – Steve

+0

어떻게 도시 사전은 그렇게 생각하십니까? 나는 다른 IP를 사용하여 쿠키 현금과 로그인을 지우려고했지만 여전히 투표를 방해합니까? –

답변

-1

시도하지는 않았지만이 용도로 Session을 사용해 보시기 바랍니다. 예를 들어

:

때 설정 voute에 사용자가 클릭 :

Session["isVouted"] = true 

지금 확인할 수 있습니다 if((bool)Session["isVouted"]){don't allow to voute}. 더 나은 결과를 얻으려면 한 시간 또는 하루 동안 세션 시간을 설정할 수 있습니다.

+0

잘못된 것입니다. 세션을 쉽게 지울 수 있기 때문에 누군가가 가짜 투표를 게시하는 봇을 작성하는 것을 막지는 못합니다. –

+0

@SriwanthaSriAravinda 사용자가 어떻게 orginized되었는지 알고 있다면, 그 사람이 bot을 쓰는 것을 막을 수있는 방법은 없습니다. –

0

영구 저장 장치가 없다면 이것이 가능할 것 같지 않습니다. 즉 DB 또는 쿠키. 쿠키의 유일한면은 쿠키를 지울 수 있다는 것입니다.

관련 문제