Ste*_*ven 15 php wordpress code-access-security api-key
我正在开发一些(wordpress)插件,我打算为想要使用它的人获得许可费.
因此,我需要一种方法来确保此插件不会上传到任何人都可以下载并免费使用的服务器.
所以我在考虑使用API密钥.有效的API密钥=用户可以使用该插件.无效=插件不起作用.
我已经看过这篇文章的PHP API密钥生成器,但我并没有那么明智.
我也知道,因为它是PHP,任何人都可以进入代码并禁用API检查(我只是在猜测)
保护插件的最佳方法是什么?API密钥?其他方法?有没有人有关于这个主题的任何好的教程的链接?
Cae*_*sar 15
我的插件依赖于与您自己的服务器的交互,API密钥是防止非付费用户使用它的绝佳方法.
但是,如果它不需要与您的服务器交互,那么任何人都可以修改您的插件以删除API密钥检查.
这里的一个主要问题是您的插件的许可.WordPress是GPL,GPL有一个条款要求"衍生作品"也要根据GPL许可.(这是轻描淡写的:实际上,整个GPL都是基于该条款,没有它就不会真正有用.)
关于插件是否可以被视为"衍生作品"存在很多争论.在我看来,它不是,我认为试图强迫它被视为一个是不道德的.然而,核心WordPress开发者Automattic和自由软件基金会(编写GPL的组织)声称WordPress插件在法律上有义务使用GPL,并且可能不会使用其他许可证.
到目前为止还没有法院案件,因此没有先例,但是围绕一些不使用GPL的主要WordPress插件存在相当大的敌意,而Automattic基本上威胁到法律诉讼,而插件开发者已经说"请起诉我".不完全是一个漂亮的情况,而且我会说,无论情况的道德如何,负面宣传通常都会超过封闭式采购插件的好处.
总结一下:你的插件基本上必须是GPL,这意味着你必须提供未加密的源代码,所以任何人都可以修改你的插件来删除你添加的任何限制.但是你应该很容易让大多数潜在客户想要从你那里购买插件而不是使用分叉版本 - 你可以提供诸如支持,升级等等可能无法获得的好处. "破解"的版本.
有几家公司成功销售插件,根据GPL并且没有保护(API密钥等).即使理论上任何人都可以下载插件并将其上传到任何人都可以下载的公共站点,但实际上没有人想要使用非官方版本,而新版本的WordPress不会更新.因此,即使没有任何保护,销售插件似乎也是一种可行的商业模式.
当然,所有这些都假定有人不只是分叉你的插件并携带pon单独维护代码库.你无能为力 - 但不太可能发生.
对于它的价值,如果你想为那些决定重新发布你的插件的人努力工作,你可能会考虑以下几点:
- 你仍然可以对插件的名称申请商标权,即使插件本身是开源,所以你可以合法地阻止他们使用你的客户知道的相同名称
- 只有插件中的PHP代码必须是GPL - 你可以分发任何不包含PHP的文件,这些文件与WordPress交互单独许可禁止再分发.例如,CSS,JavaScript和图像不必属于GPL.
这里可以找到一篇很棒的文章,虽然这并不包括在你进一步追求这条路线之前要记住的技术 .http://www.littlehart.net/atthekeyboard/2007/07/20/protecting-your- PHP-代码/
虽然为了更直接地回答您的问题,但是使用API密钥系统,然后使用Zend Guard的内容对PHP进行编码,这样用户就不能在代码编码时进入并删除API密钥检查.
使用 API 密钥可能没问题。您不必担心人们盗版您的插件,因为无论您做什么,它都会发生。知道删除 API 检查的人足够聪明,可以删除您在脚本中放置的任何类型的保护。你不能担心这些人。
使用 Zend Guard 之类的产品不是一种选择。它要求最终用户在他们的系统上安装 Zend Optimizer,您不能保证这一点。
尽管如此,您无论如何都不能混淆或以其他方式隐藏您的源代码。Wordpress 是在 GPL 许可下获得许可的,他们严格禁止插件拥有任何其他许可。虽然您可以出售插件,但您无法隐藏源代码。