如何保护基于 GPL 的应用程序免受未经授权的使用? [关闭]

Posted

技术标签:

【中文标题】如何保护基于 GPL 的应用程序免受未经授权的使用? [关闭]【英文标题】:How can I secure a GPL based application against unauthorised use? [closed] 【发布时间】:2012-01-19 15:34:10 【问题描述】:

我正在开发一个基于订阅的 WordPress 插件,付费订阅为产品所有者提供 API 密钥和使用该插件的权利。这个问题是我关于 WordPress Answers 的更广泛问题的变体。

似乎使用 API 密钥作为插件所需的 Web 服务的身份验证是我最好的做法。 GPL 规定,有进取心的“盗版者”可以自己托管我的 Web 服务代码,无需付费,甚至可以从 Web 服务接口后面合并代码,从而无需任何本地 Web 托管服务,但这两者都是情况不太可能发生,财务风险很小。

我的问题是,我可以将哪种类型的依赖项(对服务)转移到 Web 服务上以帮助使该方案更成功,或者,我可以使用什么其他方案?我的一个想法是将模板和数据传递给服务,以接收完整的 html 视图作为回报。

【问题讨论】:

为什么这个问题被标记为 GPL?你的代码是 GPL,如果是,为什么要限制付费客户的访问? @Laurence,我的问题被标记为 GPL,因为我的代码是 GPL,这意味着我的源代码是免费可用的,而不是我的工作和我的产品。任何人都可以下载和使用代码,但要以受认可的方式使用,他们必须付费。 再一次,如果您想将代码限制为付费客户,为什么还要使用 GPL?在您的上一条评论中,您区分了“我的来源”和“我的工作”。这是否意味着来源不是你的作品? @Laurence,这是 GPL,因为所有 WordPress 插件都必须是 GPL。您为什么不看看有多少人为 WordPress 插件收费并更好地了解您在说什么? 我投票结束这个问题,因为它是关于许可或法律问题,而不是编程或软件开发。 See here 了解详情,help center 了解更多信息。 【参考方案1】:

目前尚不清楚在这种情况下“成功”是什么意思。您的意思是如何使您的 GPL 代码无法与其他类似服务一起使用?你不能给你的用户戴上手铐......

您所能做的就是将尽可能多的功能从插件移到您的网络服务中。

但是,这不会阻止任何人从头开始实施几乎相同的东西。

以 Github 为例,他们正在做的事情与你想要的完全相反,但他们非常成功。你能得到的唯一真正的保护就是表现得很棒,这样就没有人愿意竞争了。

GPL 的重点是保护用户免受版权所有者的侵害,它应该始终是一种善意的行为。担心这个或称任何人为“海盗”是愚蠢的;规则很清楚,只要决定这是否是你的游戏。

【讨论】:

【参考方案2】:

您似乎正在根据指南开发似乎是基于服务件的插件。 (参见第 6 点:http://wordpress.org/extend/plugins/about/guidelines/)这意味着虽然插件代码本身必须在 GPL 下,但 Web 服务可以是完全专有的。

Salesforce 插件就是一个很好的先例。 (Salesforce CRM 的 WordPress 领导:http://wordpress.org/extend/plugins/salesforce-wordpress-to-lead/)尽管此插件连接到 Salesforce 服务器并且需要付费帐户才能运行,但这并不意味着 Web 服务本身需要暴露。

简而言之,即使您的插件只是 Web 服务的一个接口,拥有一个封闭的 Web 服务也是完全可以接受的。指南的第 7 点表明,您甚至可以在用户同意的情况下下拉客户端脚本和图像。 (虽然第 8 点显示这不包括服务器端脚本)希望这会有所帮助!

【讨论】:

顺便说一下,为了确定,这些要求仅在插件托管在官方 WordPress 插件目录中时才有效。如果你是根据客户需求做一个插件,并且不依赖目录进行曝光,你可以为所欲为。

以上是关于如何保护基于 GPL 的应用程序免受未经授权的使用? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何使用公钥保护 Web API 免受未经授权的访问?

apache_conf 保护.htaccess免受未经授权的访问

Vue.js:如何保护登录组件免受经过身份验证的用户的影响

Pipy:保护 Kubernetes 上的应用程序免受 SQL 注入和 XSS 攻击

如何保护 ASP.NET Core Web API 免受被盗 JWT 令牌以进行模拟

vpnlab软件怎么样