Protéger un programme via Vk.com

Dans cet article, nous examinons brièvement comment protéger un programme utilisant l'API VK contre une utilisation illégale et une distribution non autorisée sans créer votre propre serveur cloud.

Diagramme graphique





Principe de fonctionnement


Si le logiciel n'est pas connecté de quelque manière que ce soit avec Vkontakte, les grands développeurs utilisent HASP , cependant, il est coûteux, difficile à acquérir et il est nécessaire de développer davantage d'applications qui s'exécuteront à l'intérieur des clés HASP.

Cet article traite de la protection des programmes développés par des développeurs individuels ou de petites entreprises. Il est logique de placer votre serveur sur Internet et de l'utiliser pour octroyer une licence au programme, mais même cela ne garantit pas qu'il suffit de patcher le programme. Voyons combien de personnes le font en plaçant simplement des demandes critiques ou complexes sous la forme de procédures stockées, dont le code est stocké en toute sécurité sur les serveurs Vkontakte et est inaccessible au programme que vous distribuez:
Les procédures stockées vous permettent d'exécuter du code côté serveur de l'API de la même manière que la méthode d' exécution , mais sans passer le code de procédure sur le réseau.

Pour une protection supplémentaire, la procédure stockée doit, en plus de son exécution, vérifier également si l'utilisateur qui a acheté la licence l'a démarrée, pour cela il suffit d'exécuter la procédure stockée au début, par exemple, le code suivant:

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" 

En tant qu'analogue, vous pouvez obtenir les utilisateurs autorisés de la page wiki ou vérifier d'une autre manière.

Lorsque la licence de l'utilisateur expire, elle est simplement supprimée de allowed_users.

Conclusion


  1. Vous pouvez automatiser le processus de modification de la liste d'utilisateurs lors du stockage de la liste allowed_users en dehors de la procédure stockée
  2. Implémentation simple
  3. Ne convient pas aux performances de projet multi-utilisateurs ou exigeantes
  4. Ralentit l'exécution des procédures stockées
  5. Selon la disponibilité et les limites de Vkontakte
  6. Peut être bloqué par VKontakte
  7. Réalisable dans n'importe quel service avec des analogues de procédures stockées Vkontakte

Source: https://habr.com/ru/post/fr412253/


All Articles