PHP Subscriptions - Sharing Prevention

Ask a customer looking at building a site where customers get subscription access.

Obviously, the biggest problem is people share their credentials.

Are there any good techniques that can be deployed to prevent this, or at least reduce it.

Obviously only one session per user is logged in, so it will delete other people if they are logged in.

Any other good ideas?

Thanks if you can advise.

0


a source to share


4 answers


You can store active sessions in a database table and use them to prevent multiple logins. However, these stored sessions should expire fairly quickly. Unless someone logs out or switches browsers or their computer crashes, they don't want to wait a day to log back in.



This is not a software solution, but a different idea: evaluate it so there is no motivation to share. People turned to Napster because the discs were overpriced. They now happily pay $ 1 per song on Amazon or iTunes. People pirate MS Office because it is so expensive, better get 5 people to play and then share it. People rarely pirate the educational licensed version because it only costs ~ $ 60.

+1


a source


It really depends on how worried you are that you have incorrectly blocked legitimate users.



You can track the IPs they register and some other identifiers such as their user agent string and then look for discrepancies. So if someone usually logs in from a Verizon IP using Firefox and then all of a sudden they log in from one in Brazil using Internet Explorer and it might be someone sharing their credentials ... But it could be the same user who just traveled to Brazil and uses his computer for his uncle. How are you going to tell?

0


a source


You can add a personal question that people don't want to share, such as the date of birth that is required to sign in.

I don't know anything about people who can subscribe, but it is possible to restrict subscription to IP range. This usually does not work if you are a member of the public, for example.

0


a source


If the login value is large enough, you can send a piece of hardware like banks used for authentication - it generates a PIN every time you want to login.

This will result in login sharing restricted to people with physical access to the device.

0


a source







All Articles