2012-02-08 114 views
1

我已經爲1個客戶在cakePHP中創建了一個應用程序。使CakePHP應用程序的許可證?

現在我想加密該代碼,因爲我不想讓客戶端爲其他人分發代碼。

但是我應該加密哪個文件,因爲cakePHP是開源的,我將加密客戶端的任何文件都可以在網上輕鬆找到。

總之我想做我的cakePHP應用程序的許可證。

目前我只編碼我的繼承的控制器應用程序類。

請讓我知道任何人有這個想法。

+3

那麼,客戶可能能夠將源代碼提供給其他地方的應用程序的一部分。有什麼問題?爲簡單起見,您仍然可以加密整個事物。 – deceze 2012-02-08 07:40:06

回答

4

如果你是確實關注盜取你的源代碼的人,可以考慮使用Zend Guard或類似的東西。

http://www.zend.com/en/products/guard/

+0

我想你不明白我的問題。加密軟件不是問題。通常我們不會加密完整的代碼,我們只加密一個文件。但cakePHP是開源的,它很容易獲得加密的文件代碼。 – 2012-02-08 09:04:55

+0

你爲什麼不說明你正在努力完成什麼,並且會產生更有價值的答案 – 2012-02-08 09:06:58

+1

你可以做一個混合的。創建一個核心文件,使應用程序在除客戶端提供給您之外的其他任何URL之外都不可用。使用Zend加密這個文件並設置好。這樣,如果它被給予另一個人並且他們試圖使用它,除非URL匹配,否則它將不起作用 – 2012-02-08 09:31:18

1

首先,您使用的是開放的源代碼和,我想認爲你是支付給您的客戶製作的應用程序,什麼是供給他們,他們支付的源代碼中的問題。

其次,我還沒有親自聽說過任何加密的php代碼沒有被破解。所以如果你的客戶真的想竊取他們付費的代碼,他們可以修復它。

在決定學習CakePHP並開發自己的應用程序之前,我購買了PHPCOW的一個副本,最令人煩惱的是它的所有源代碼都是ENCRYPTED,我不知道是否事先提供。因爲它,我無法改進任何事情。他們推動我學習CakePHP,因此,我感謝他們。

我花了無數個小時來開發我的應用程序,其中有新聞,照片,視頻,用戶,ACL,AUTH等,當我完成時,我會很樂意與大家分享。因爲我使用了CakePHP社區的許多幫助,包括建議,插件和核心代碼。

我確實認爲,在CakePHP的核心需求之上開發的所有代碼都不能被加密。

如果CakePHP或任何其他框架決定加密他們的代碼,那麼如何?

0

我認爲你需要做的是讓用戶指定一個鹽或密碼。然後使用用戶指定的密碼來加密和解密文件的內容。

<? 
// To save the file 
$string = "content you want to encrypt"; 
$key = "user specified key"; 
$encrypted = base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, md5($key), $string, MCRYPT_MODE_CBC, md5(md5($key)))); 
file_put_contents("secure_file", $encrypted); 
?> 

,並得到加密的文件,使用此:

<? 
$key = "user specified key"; 
$encrypted = file_get_contents("secure_file"); 
$decrypted = rtrim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, md5($key), base64_decode($encrypted), MCRYPT_MODE_CBC, md5(md5($key))), "\0"); 
?> 

參考:Best way to use PHP to encrypt and decrypt passwords?的加密/解密代碼。

0

我們在CakePHP上開發了銷售點計費軟件,當我們想要將它分發給客戶時,也出現了同樣的問題。試用http://www.sourcecop.com/ Sourcecop 3.0,如果您想要許可您的PHP應用程序,它是完美的解決方案。 Zend Guard是另一個值得嘗試的應用程序。