I want to prevent users from voting more than one time in my website, I used two methods to do that, but no one do that well !!
- using cookie.
the problem : users can delete the cookie and return to vote again and again .. - using database table.
The problem : users shouldn’t forced to register in my website !
So, How i can solve this problem ?
I dont think you have many options as you are not forcing users to register. You need to use session or cookies. As pointed out in comments you can also check the IP Address. But if intended audience uses dynamic IP address assigned by their ISP, then this solution also failed.
If possible you can ask user to registered with their facebook/google id, like stackoverflow is doing