2012-02-08 90 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是另一个值得尝试的应用程序。