2011-10-25 29 views
0

我們可以在客戶端服務器上部署PHP應用程序,並限制客戶端查看或編輯任何代碼。部署PHP應用程序並限制代碼更改

例如,如果我不希望我的客戶端未經我的許可將代碼提交給其他開發人員。

+7

這是簽署的合同是。合法有爭議和可辯護的合同。 –

+1

如果這就是你的感受,聽起來像一個糟糕的工作... – bdares

+2

理論上你沒有辦法讓你阻止一個人以他想要的方式修改他自己的服務器上運行的代碼,所以你做的任何事情只會讓他放慢腳步......但這不是你應該擔心的,你應該編碼網站,拿薪水,然後繼續下一份工作。如果你可以把網站放在一起,你可以找到可靠的工作,而不必DRM你的產品。紅帽並沒有通過代碼晦澀製造數十億美元,恰恰相反... – bdares

回答

0

我已經看過去PHP代碼加密,但它是一個根本不好的主意。

市場上有很多解決方案,如Ion Cube和Source guardian,但它們都具有相同的缺陷。

解密代碼的額外步驟會增加處理開銷並且非常類似於DRM系統市場上的所有解決方案都要求您具有可用於運行代碼的服務器的加密密鑰,從而使加密瑣碎失敗。它還引入了一些新的代碼可能出錯的方式。

另一種方法是將源代碼提供爲字節碼或使用PHPC或HipHop將代碼作爲C可執行文件提供。這不會阻止他們使用應用程序,但它會使人們難以修改。我個人只考慮這種方法的表現,而不是混淆的原因。

從根本上來說,處理這個問題的最佳方法是確保您擁有適當的許可證和協議來覆蓋您。在開始一個項目之前,應該始終明確誰最終擁有源代碼。

您通過提供最佳的解決方案,而不是鎖定客戶得到重複的工作。

0

Zend的產品名爲Zend Guard,它可能會混淆您的源代碼。

另一種解決方案是提供已編譯的版本,您可以使用php compilerphalanger

注意:混淆不會阻止用戶使用代碼,但會使其升級/修改變得非常困難。我認爲提供一個編譯版本或只是簽署一個合適的合同將是最好的選擇

+0

@ sage29:我從來沒有使用Zend Guard,但我想它可以在任何項目上工作,同樣適用於php編譯器... – RageZ

+0

我試過了一些時間以前,它可以處理任何代碼,但它需要服務器安裝擴展。 – SERPRO

+0

@SeRPRo:ha所以它可以做一個編譯器的同類東西,將php代碼轉換爲一些bycode並直接使用php虛擬機 – RageZ

相關問題