You can try to make the code unreadable (obfuscate), but this can also be undone. An example of this type of code:
protected function F8798a4a9($V4ba49586, $Vd75b70be=array())
{ $Vcdbd1ded = $this->F71555a34($V4ba49586, $Vd75b70be);
if (!empty($Vcdbd1ded))
{ $V5f3968da='SET ' . implode(', ', $Vcdbd1ded);
} else
{ $V5f3968da='';
} return $V5f3968da;
}
Here are several tools that can do this:
https://ourcodeworld.com/articles/read/569/top-5-best-open-source-php-code-obfuscator-libraries
One way to avoid copies would be to change the way the system works, that is, create an API where you would centralize all requests on your server, and your PHP system would be an API client, where for each request would have a "key" provided by you, to identify the customer.
This is also not 100% safe, but it would give a control over who is using the system. One disadvantage is that it would increase your responsibility, since all your users' data would be on your server, since the copies that use the system would be executed on the clients' servers.
I was wanting to take the system variable of phpinfo to do a validation if I try to run on another machine. Can you tell me how to do this?
– Murilo Albeest