2

I developed an inventory software in raw php. This is to be downloaded by the clients. And they will install xampp and use the software by placing the folder inside htdocs. Now, I am stuck in one section. I want downloaded software would be run on one computer only (maximum on 3 computers). Is there any way in php to protect the software run in more than 3 computers?

Ingo Karkat
  • 167,457
  • 16
  • 250
  • 324
Apu G.
  • 21
  • 1
  • 1
    Unless you make them connect to to a server/database with some kind of login/logoff logic, I doubt it. – chrki Oct 29 '12 at 08:07
  • proper licensing is the best approach –  Oct 29 '12 at 08:07
  • 3
    You should host the software externally (ie, on your servers). Or at least the important business logic, and give them the front end. – rrrhys Oct 29 '12 at 08:21
  • Its hard if people have acces to the source code. People can just simply modify the terms which you probably specify in your code in order to make it only useable. Somebody with a little knowledge of PHP should be able to script arround this if you are going to PHP this. I think propper licensing of software is your best shot, and you should avoid trying to script this in PHP. – Dorvalla Oct 29 '12 at 08:22

2 Answers2

0

one centralized mysql server where you keep track of who is running the software, session ids, or username/password, but this really is no solution, because if the users have access to the php code, they can always modify it. You can obfuscate it of course, no idea how secure that is.. the best solution, sign contracts with the companies and monitor the database and php files for tempering. + licensing the software.

Nikola
  • 546
  • 1
  • 6
  • 18
0

In the beginning the software may not be usable until the user activates it. The activation can be done through a web service. Once the software is activated your customers can start using it. The service can keep track of how many activations are made per customer (one per computer). Once the threshold is reached you will not allow further activations.

Keep in mind that clients will be able to change your code if they hire a PHP programmer. So you still need proper licensing as the others suggested.

It would be way better if you had one single instance of the software per client and users just connect to it through a browser. No matter if it's on your server, their in-house server or some 3rd party server that you manage.

Pavel Nikolov
  • 9,401
  • 5
  • 43
  • 55