2010-08-24 31 views
1

我有一组PHP脚本坐在几个客户端服务器上,我想获取该服务器的MAC地址,以便我可以存储它并确定PHP脚本未在另一台服务器上使用。如何确保PHP脚本仅由客户端在一台机器上使用?

如何获取使用PHP的计算机的Mac地址?

有没有更好的方法来确定PHP脚本是否在不同的机器上使用?

感谢所有

回答

1

我不认为有一种简单的方法可以从访问PC获取MAC地址,但我不确定这一点。

如何更简单的方法:使用会话? 只要分配一个会话,如果没有的话,你最终会得到一台机器(除非他们使用不同的浏览器)。你可以锁定执行。

它并不像“绝对安全”为锁定在Mac,但仍然很长的路要走......

+0

我想说这个问题不是关于连接的HTTP客户端的数量,而是强制实施单服务器许可证。 – Piskvor 2010-08-24 09:48:29

+0

它不适用于访问PC,其实际上适用于脚本驻留的PC。 – Abs 2010-08-24 09:50:53

+0

猜猜我们是在同一时间输入的。在这种情况下,您应该使用像Zend Safeguard或Nusphere Nucoder这样的编码器将脚本锁定到单台机器。 – Blizz 2010-08-24 09:53:51

2

直到你不要混淆代码,智能客户端可以伪造的MAC地址。

编辑:(只是一个简单的想法)

当您安装客户机上的应用程序,你应该创建一个只属于该机器的唯一标记。

例子:

  • 文件创建时间戳
  • 安装时间戳
  • 文件位置(大的机会不一样,在所有客户端)

合并这些散列它,保存它,然后检查每一个页面的电话。

+0

PHP代码进行模糊处理。 :)我只是试图把东西修复到一台机器。 – Abs 2010-08-24 09:50:03

+0

你可以访问你的客户端机器吗?我的意思是你可以在机器上放一些独特的数据,然后寻找它? – fabrik 2010-08-24 09:56:44

+0

如果我这样做,这是我必须为每个客户做的事情,我希望自动化的通用解决方案。 – Abs 2010-08-24 10:03:06

0

了很久以前我用的工具PHTML编码器(URL http://www.rssoftlab.com/)这个工具可以保护你PHP代码,你可以设置一些功能,如“只能在这台机器上运行”。你必须安装这个php扩展。最终这是你的解决方案。

亲切的问候

0

我想做到这一点的最好办法是通过生成自己的算法指纹的服务器,这是用于创建指纹的代码应该混淆,防止逆向工程,但它可以是可能的。

创建一个算法hasher,不会坚持每个指纹1值,让值变化。

这样你就可以ping主服务器哈希女巫然后得到验证。

例如

function GenerateFingerPrint($account) //Each machine has a static UNIQUE ID 
{ 
    //Create a fingerprint for the machine and machines location 

    //Post the $account + $fingerprint to MAINSERVER.COM 

    // Get hashed responce 

    //Decode it and validate it to continue with script. 
} 

但所有的代码应该因逆向工程高度混淆!

+0

嗯,如果客户端机器禁用该服务器的互联网连接,该怎么办?脚本无法使用? – Abs 2010-08-24 10:01:22

+0

好吧,你可以在本地存储一个本地响应散列,这将有效7天,那么它将需要重新验证,如果没有互联网访问它使用商店散列,否则它会每天更新X次。 HTTPS将是必需的! – RobertPitt 2010-08-24 10:05:29

1

如果你想获得其运行你的PHP代码,然后Web服务器的MAC地址:

system ('ipconfig /all') 

在Windows和一般(取决于味道!)

system('netstat -i') 

会你有很多网络信息,包括mac地址。

但是我必须警告你,如果你停止你的脚本工作时的MAC地址不匹配你的客户会恨你!

想到的情况下,当一个MAC地址更改以及如何申请新的“许可证”(不)适合于: -

  • 破碎网卡被替换
  • 软件转移到一个闪亮新的服务器。
  • System Admin启动一个灵活的虚拟机群集。
  • 软件故障切换到集群中的另一台计算机。
  • 客户端发现更便宜/更好的托管服务提供商。
  • 灾难和客户端正试图在其他数据中心的另一台机器上运行并运行。
  • 客户机拥有多个网卡。
+0

如果'系统'被禁用会怎么样? – fabrik 2010-08-24 10:15:54

+0

我认为他的使用mac地址完全一样..那里只是不可靠和静态是可行的。 – RobertPitt 2010-08-24 10:16:09

+0

结构,那么你要求用户更新他的配置以满足应用程序的需求,你无法满足所有需求。 – RobertPitt 2010-08-24 10:16:52

相关问题