2015-04-02 105 views
0

有沒有辦法檢查PHP腳本是否被修改?有沒有辦法告訴PHP腳本是否沒有被修改?

我已經寫了一個腳本,人們將安裝在他們自己的服務器上,我希望能夠檢查輸出是否真實或僞造。

這可能嗎?

+0

如果你指的是使用'filemtime()'的時候,否則只需要腳本的哈希值?! – Rizier123 2015-04-02 13:27:18

+0

腳本將由第三方安裝並託管在他們的網站上,所以我不認爲我能夠驗證散列值... – Jeremy 2015-04-02 13:28:48

回答

1

簡短的回答是:你不能。因爲服務器(你不控制的)執行代碼(你不再控制),它們完全控制了響應。總是有可能改變東西,並試圖僞造它是合法的。

但是,你可以嘗試讓它更難。這與軟件盜版保護,數字版權管理以及其他類似技術背後的前提是相同的,這些技術旨在限制用所有者/創作者控制之外的信息來執行哪些操作。

一些方法可以做到這一點:

  • 混淆到底出了PHP的,使之更加防篡改。
  • 讓腳本向您發送自己的散列,並用您的公鑰加密,作爲其輸出的一部分。
  • 加密(對稱或不對稱)大部分的php本身,並添加一個解密/執行部分。
  • 個性化每個腳本副本,包括某種已知的,在您讓其他人使用的每個腳本的預期輸出中的某種唯一值,並在輸出中驗證它以確保它是該服務器的預期值。
相關問題