PHP programming forum. Ask questions or help people concerning PHP code. Don't understand a function? Need help implementing a class? Don't understand a class? Here is where to ask. Remember to do your homework!
I run a small site which contains educational resources, I let people access 10 articles per month for free, and then they have to upgrade to a paid membership. Problem is that people have realised that they can just register again to carry on using the site for free; any ideas how I can stop people registering twice? I've tried logging their IP addresses, but this keeps blocking first-time registers as well as reregisters (I work in a school, and have problems with students using shared IPs on the school network).
Sorry if this is a dumb question; I'm a sociologist by trade rather than a programmer.
require them to use the a valid school email account, assuming this is a college/university type institution. I don't know of any schools allowing aliasings or requesting of new accounts via that system.. Then lock down the registration such that using an already existing address in the system will block their registration. This can be done via making the field for email addresses a unique key, or by doing a search for the email address prior to insertion.
Only problem is that I want people outside school to be able to register (this is how I generate my profit); although I suppose I could send them a confirmation email with a link to activate their account...
even with lots of restrictions and things, there's little you can really do to avoid it other than watching activity and things. What I've done in the past is only provide so much information for free. As in, they will only get partial articles, or they can only choose from x,y,z articles during the free part. If they upgrade, they get full access. Things of this nature can help avoid abuse of your type of problem. The other problem is sharing their account with someone else.. that can be difficult to avoid though, other than disallowing multiple login.. where they have to log out of the first one to have access from a second.. with some automatic logout (to cover power failures and things)
things that could reduce the amount auf multi-signups:
1) make the emailaddy unique and implement the activation mail function
2) set a cookie for someone who is registered. if there is this cookie, you can't register again. of course anyone can delete the cookie theoretically, but the most dumb users cannot...
what you also could do is to require a postal adress that you must check for validity somehow, don't know if thats possible in your country.
I think feyd's option would be rather more applicable and useful to you.
while a person has free membership he can only see viz. X, Y and Z articles only. He gets the full access only after paying. So that should solve your prob. Nobody would like to see the same articles again and again. Atleast, not me