There is no perfect solution to this, you have to choose the one with the least negative impact, based on the importance of your polling.
IPAddress:
Positive: Very easy to code, simply add to a table in the db after getting it from ServerVariables collection
Negative: User with DHCP could vote multiple times, User behind proxy will send proxy address, not allowing anyone else behind that proxy to vote
Login:
Positive: Users will only be able to vote once
Negative: Longer coding time as you have to have the login page and a verification script. Users will be forced to log in, causing them extra work.
Cookie:
Positive: No login, small amount of work for you, simply write the cookie after someone votes and check for it's existence before someone votes
Negative: You are placing a long term cookie on someones machine, possibly one cookie per poll which would be excessive. People might have cookies disabled or erase a cookie once you give it to them.
You'll need to look at the importance of the poll vs the amount of work you want to do vs the amount of work your going to expect the client to want to do in order to answer the poll. In most cases IP number is assumed to be adequate despite it's failings because the majority of people are not going to take advantage of DHCP IP changes.
Just thought I would bring all the info together into one place for to look at,
-Tarwn ________________________________________________________________________________
Want to get great answers to your Tek-Tips questions? Have a look at faq333-2924