通过Vk.com保护程序

在本文中,我们简要地考虑了如何在不创建自己的云服务器的情况下使用VK API保护程序免受非法使用和未经授权的分发

图形图





工作原理


如果该软件没有以任何方式与Vkontakte连接,则大型开发人员将使用HASP ,但是它昂贵,难以获取,并且有必要开发更多将在HASP密钥中运行的应用程序。

本文是关于保护由个人开发人员或小型公司开发的程序的。 将您的服务器放置在Internet上并使用它来许可该程序是合乎逻辑的,但是即使这样也不能保证它足以打补丁该程序。 让我们看看有多少人通过简单地以存储过程的形式放置关键或复杂的查询来执行此操作,其代码安全地存储在Vkontakte服务器上,并且您分发的程序无法访问:
存储过程允许您以与execute方法相同的方式在API的服务器端执行代码,但无需通过网络传递过程代码。

为了提供更多保护,存储过程除了要执行外,还应检查购买许可证的用户是否启动了该许可证,为此足以在开始时执行该存储过程,例如,以下代码:

var allowed_users = ",id1,id2,id3,id99999999,";//     //  allowed_users vk_id    var c = allowed_users.indexOf("id"+API.users.get({})@.id+",");//        :( var res; if(c>0) {//      //    res = ... return res; } else return "License not acquired"; return "error" 

作为类推,您可以从Wiki页面获得allowed_users或进行其他检查。

用户的许可证到期后,只需将其从allowed_users中删除即可。

结论


  1. 在将allowed_users列表存储在存储过程之外时,可以自动执行编辑用户列表的过程
  2. 实施简单
  3. 不适合多用户或要求苛刻的项目性能
  4. 减慢存储过程的执行
  5. 取决于Vkontakte的可用性和局限性
  6. 可能被VKontakte阻止
  7. 使用存储过程的类似物Vkontakte可以在任何服务中实现

Source: https://habr.com/ru/post/zh-CN412253/


All Articles