Counting unique viewers?

I'm building an app where I'd like to track the number of views of each item, but I'd like to keep it from being spammable, so it counts unique viewers rather than just the number of pageviews.

What's a good way to go about this? Should I build a database to record the IP addresses and save the request.remote_addr for each viewer in the database, associated with each item? And then check each viewer against that item's database of IPs to see if they're unique before incrementing the view counter?

IP address won't work.. all the machines at my company appear as a single public IP, but there's 50 of us...

About the only thing you can do is set a cookie and hope your viewers don't bother to delete it.

Or force them to login, but that might not be an option...

-philip