Limit A User To One Action

Hi, i am building a site for a client who wants to carry out a survey by asking 1000 users one simple question in which they then either vote Yes or No.

The client wants to attract more users to their Facebook page so i am going to implement a system where by the user has to click a “Like” button before they can access and reveal the Yes and No buttons. The reason users will (hopefully) want to vote, is because once their vote is submitted a form will display asking them to enter their email address so they can win 1 of 10 prizes.

I was going to develop a Facebook App to do this but i think it might best to set up a small stand alone website for the promotion.

Please do not reply saying you wouldn’t give your email address or you wouldn’t like the page… i am not trying to discuss the business concept here, i just want to discuss the technical details here :wink:

I am trying to workout the following:

How can i limit each user so that they can only vote once… i was going to use the “Like” step to restrict users but what if a user has already liked the clients page, how can they vote… SO i was thinking i need some other way to limit the users to one vote without having to get them to register.

I know most of the common techniques such as using IP addresses and cookies and i know that all of these can be cheated… which is fine if someone really wants to go that far with it… but what would you recommend as the best way to limit the users to one vote… thanks in advance for your help…