I want to implement a 5 star rating system for particular articles on my site. But, I know that with a little bit of scripting, it can be easy for hackers to abuse these systems. However, I want it to be as easy as possible for a user to make a rating.
Asking the user to create a new username and password just for my site would probably deter a huge number of potential users.
I toyed with the idea of authenticating the user with a Social Sign In http://www.addthis.com/labs/social-sign-in, but this involves creating various Apps on Facebook, Twitter etc, and forcing the user to "allow" my website to access their profiles. I personally never allow websites to do this to my social accounts so I think it generally would put a lot of people off.
I could record the users IP address and not allow multiple votes, but again it is easy for a user to change their IP if they want. This method would, however, stop the less techie hackers.
Does anybody have any suggestions as to the best compromise between robustness and ease-of-use?