我在cakePHP中为1个客户端创建了一个应用程序。
现在我想加密该代码,因为我不希望客户端为其他人分发代码。
但是我应该加密哪个文件因为cakePHP是开源的,我将加密客户端的任何文件都可以在网上轻松找到。
简而言之,我想获得cakePHP应用程序的许可证。
目前我只编码我继承的Controller app类。
请让我知道任何人对此有所了解。
答案 0 :(得分:4)
如果您真的担心人们窃取您的源代码,请考虑使用Zend Guard或类似的东西。
答案 1 :(得分:1)
首先,您使用的是开源代码,我想您可以创建客户端的应用程序,向他们提供他们支持的源代码有什么问题。
其次,我没有亲自听说过任何未被破解的加密PHP代码。因此,如果您的客户真的想要窃取他们支付的代码,他们可以修复它。
在决定学习CakePHP并开发我自己的应用程序之前,我购买了一份PHPCOW,其中最令人恼火的是他们所有的源代码都是ENCRYPTED,我不知道是否事先。因为它,我无法改善任何事情。他们推动我学习CakePHP,因此,我感谢他们。
我花了无数个小时开发我的应用程序,其中包括新闻,照片,视频,用户,ACL,AUTH等,当我完成后,我将很乐意与大家分享。因为我使用了CakePHP社区的很多帮助,包括建议,插件和核心代码。
我真的相信在CakePHP核心之上开发的所有代码都不需要加密。
如果CakePHP或任何其他框架决定加密他们的代码怎么样。
答案 2 :(得分: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?用于加密/解密代码。
答案 3 :(得分:0)
我们在CakePHP上开发了销售点结算软件,并且在我们想要将其分发给客户时遇到同样的问题。尝试使用http://www.sourcecop.com/ Sourcecop 3.0,如果您想要许可您的PHP应用程序,它是完美的解决方案。 Zend Guard是另一个值得尝试的应用程序。