-2

php如何将代码绑定到一台服务器上面运行,不允许其他服务器运行

大概说下方案和逻辑即可 谢谢

5个回答

0

已采纳

服务器具有唯一的mac码。
php可以获取绑定该服务器的mac码并在登陆界面进行验证,就可以做到验证了。
提供一个实例:

$ServerMac = new \Org\At\ServerMac;
if ($ServerMac->macAddr != '70-4D-7B-6B-9E-DB' && $ServerMac->macAddr != 'xx-xx-14-66-86-EC' && $ServerMac->macAddr != '12:32:3e:02:23:53') {
$this->error('非法访问!');
}
0

你的意思应该是只允许某些ip访问吧.每个访问你php文件的都是你的那一台服务器在运行.
在apache中配置 你禁止别人访问的目录 ,然后allow,deny allow 某些ip.
或者你在php程序中判断ip.

别人都能得到你代码了,改一下mac 等服务器信息不是照样运行吗,我看上面回答挺奇怪的.也许是我naive.

3

大概思路是这样的:

  1. 编写一个加密程序,在这个程序里,首先获取到服务器的CPU唯一ID,以及硬盘ID,网卡MAC地址等关键信息,把它们拼成一个字符串。然后生成一对RSA密钥,用私钥对这个字符串加密。这个加密程序和私钥在服务器上运行完之后不要留在服务器上,放在自己的一个U盘上妥善保管,然后把服务器上的相关文件删除。公钥需要留在服务器上。

  2. PHP开始执行时,获取服务器的CPU ID等信息,然后用公钥解密字符串,比对结果,如果结果符合则执行,不符合则不执行。

  3. 为了防破解,最好把PHP编译成C语言,然后在服务器上只留可执行文件,不留源码。参考hhvm

但是搞这么麻烦,有什么意义呢?

该答案已被忽略,原因:无意义的内容 - 赞、顶、同问等毫无意义的内容

0

搞这么麻烦有意义吗

该答案已被忽略,原因:不符合答题规范,内容不是答案,可用评论、投票替代

0

说实在的,没明白你什么意思。你其他服务器不部署php代码可以吗?

该答案已被忽略,原因:同问题相关的咨询、建议,请使用评论功能完成~

撰写答案