No artigo, consideramos brevemente como proteger um programa usando a API VK do uso ilegal e da
distribuição não autorizada sem criar seu próprio servidor em nuvem.
Diagrama gráfico

Princípio de funcionamento
Se o software não estiver conectado de forma alguma ao Vkontakte, os grandes desenvolvedores usarão o
HASP ; no entanto, é caro, difícil de adquirir e é necessário desenvolver mais aplicativos que serão executados nas chaves do HASP.
Este artigo é sobre a proteção de programas desenvolvidos por desenvolvedores individuais ou pequenas empresas. É lógico colocar o servidor na Internet e usá-lo para licenciar o programa, mas mesmo isso não garante que seja suficiente para corrigir o programa. Vamos ver quantas pessoas fazem isso simplesmente colocando solicitações críticas ou complexas na forma de procedimentos armazenados, cujo código é armazenado com segurança nos servidores Vkontakte e não está disponível para o programa que você distribui:
Os procedimentos armazenados permitem executar o código no lado do servidor da API da mesma maneira que o método execute , mas sem passar o código do procedimento pela rede.
Para proteção adicional, o procedimento armazenado deve, além da execução, verificar também se o usuário que comprou a licença a iniciou, para isso é suficiente executar o procedimento armazenado no início, por exemplo, o seguinte código:
var allowed_users = ",id1,id2,id3,id99999999,";
Como analógico, você pode obter usuários_ permitidos na página wiki ou verificar de outra maneira.
Quando a licença do usuário expira, ela é simplesmente removida dos usuários permitidos.
Conclusão
- Você pode automatizar o processo de edição da lista de usuários ao armazenar a lista de usuários permitidos fora do procedimento armazenado
- Implementação simples
- Não é adequado para desempenho de projeto multiusuário ou exigente
- Retarda a execução do procedimento armazenado
- Dependendo da disponibilidade e limitações do Vkontakte
- Pode ser bloqueado pelo VKontakte
- Realizável em qualquer serviço com análogos de procedimentos armazenados Vkontakte