As you said, you will need to handle the behavior of robots.
If you register an IP address, you will have problems with corporate users, who usually remain behind the proxy server, so everyone seems to have the same IP address.
You may need to display some CAPTCHA image to check people's voices. It can not be so difficult for users, because he must vote only once.
EDIT : How to enforce one vote per user?
You can:
- Request a valid email and send a voting link.
- To register a user and allow him to vote
- Allow user to vote and save cookie
- Allow user to vote and ban user IP
All of these options have a weakness, so you will never be sure.
To deal with this problem “definitely”, you will probably need to associate your virtual identity with its real identity. This can be done by asking for personal information and saving it. But this creates a whole new problem.
Rubens farias
source share