I am considering several options for the Trial version of our web app.The one I favor the most is the classic trial period.Of course, it's a LOT easier for someone to hack this system. They can  defeat the various methods of fingerprinting the user, thusly:Browser cookie: Clear their cookies completely (or just for our site) or use a different device. Although Evercookie may help with the former.Email address: Create a new login (with a new email address)I'm going to monitor things for a while and just see how it goes. If it's a problem I'll consider requiring a credit card number matched to a name and billing zip code. Each such ID constellation would be considered one user. Someone could still have multiple credit card numbers but we could flag the same name+zipcode coming up again.Are there any better ways to do this?
How to you prevent someone from getting a new free trial period by just creating a new login?
authentication
Along the same lines as the other answers... by requesting an item of personal information that is difficult to repeat (many times).What about a (mobile) phone number? A code is text'd to this number for the user to be able to authenticate the first time (or multiple times)?