2010-08-24 30 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

相關問題