我已經爲1個客戶在cakePHP中創建了一個應用程序。使CakePHP應用程序的許可證?
現在我想加密該代碼,因爲我不想讓客戶端爲其他人分發代碼。
但是我應該加密哪個文件,因爲cakePHP是開源的,我將加密客戶端的任何文件都可以在網上輕鬆找到。
總之我想做我的cakePHP應用程序的許可證。
目前我只編碼我的繼承的控制器應用程序類。
請讓我知道任何人有這個想法。
我已經爲1個客戶在cakePHP中創建了一個應用程序。使CakePHP應用程序的許可證?
現在我想加密該代碼,因爲我不想讓客戶端爲其他人分發代碼。
但是我應該加密哪個文件,因爲cakePHP是開源的,我將加密客戶端的任何文件都可以在網上輕鬆找到。
總之我想做我的cakePHP應用程序的許可證。
目前我只編碼我的繼承的控制器應用程序類。
請讓我知道任何人有這個想法。
如果你是確實關注盜取你的源代碼的人,可以考慮使用Zend Guard或類似的東西。
我想你不明白我的問題。加密軟件不是問題。通常我們不會加密完整的代碼,我們只加密一個文件。但cakePHP是開源的,它很容易獲得加密的文件代碼。 – 2012-02-08 09:04:55
你爲什麼不說明你正在努力完成什麼,並且會產生更有價值的答案 – 2012-02-08 09:06:58
你可以做一個混合的。創建一個核心文件,使應用程序在除客戶端提供給您之外的其他任何URL之外都不可用。使用Zend加密這個文件並設置好。這樣,如果它被給予另一個人並且他們試圖使用它,除非URL匹配,否則它將不起作用 – 2012-02-08 09:31:18
首先,您使用的是開放的源代碼和,我想認爲你是支付給您的客戶製作的應用程序,什麼是供給他們,他們支付的源代碼中的問題。
其次,我還沒有親自聽說過任何加密的php代碼沒有被破解。所以如果你的客戶真的想竊取他們付費的代碼,他們可以修復它。
在決定學習CakePHP並開發自己的應用程序之前,我購買了PHPCOW的一個副本,最令人煩惱的是它的所有源代碼都是ENCRYPTED,我不知道是否事先提供。因爲它,我無法改進任何事情。他們推動我學習CakePHP,因此,我感謝他們。
我花了無數個小時來開發我的應用程序,其中有新聞,照片,視頻,用戶,ACL,AUTH等,當我完成時,我會很樂意與大家分享。因爲我使用了CakePHP社區的許多幫助,包括建議,插件和核心代碼。
我確實認爲,在CakePHP的核心需求之上開發的所有代碼都不能被加密。
如果CakePHP或任何其他框架決定加密他們的代碼,那麼如何?
我認爲你需要做的是讓用戶指定一個鹽或密碼。然後使用用戶指定的密碼來加密和解密文件的內容。
<?
// 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?的加密/解密代碼。
我們在CakePHP上開發了銷售點計費軟件,當我們想要將它分發給客戶時,也出現了同樣的問題。試用http://www.sourcecop.com/ Sourcecop 3.0,如果您想要許可您的PHP應用程序,它是完美的解決方案。 Zend Guard是另一個值得嘗試的應用程序。
那麼,客戶可能能夠將源代碼提供給其他地方的應用程序的一部分。有什麼問題?爲簡單起見,您仍然可以加密整個事物。 – deceze 2012-02-08 07:40:06