Criptografar Corpo do Fonte

(Reação Web) #1

Boa noite galera,
Estive pesquisando e encontrei algumas soluções, mas 99% são pagas e queria saber se existe alguma possibilidade de no SC 6 vir alguma ferramenta para criptografar o código fonte das nossas aplicações, porque surgiu a necessidade de criptografar os códigos fontes, pois estou pensando em disponibilizar uma versão de teste do meu sistema a um cliente, mas se ele quiser prorrogar ou ate mesmo tirar a limitação, baste ele fuçar no control_login e editar o código!

Caso já exista essa solução, gostaria de saber uma solução!

Grato

(Bernhard) #2

Bom dia,

Nós utilizamos a ferramenta da Zend, chamada Zend Guard. Uma outra solução seria o Sr. publicar este sistema “trial” em seu servidor, e dar os dados de acesso ao seu cliente, enviando apenas o código fonte após a venda do produto.

Atenciosamente,
Bernhard Bernsmann

(Haroldo) #3

Porque a preocupação com o código fonte gerado pelo SC?

Quando tratamos de código fonte para utilizadores do SC, são os fontes (exportação, backup) que podem ser importados direto no framework.

Não se preocupe com os fontes gerados em php, não acredito que um programador php, consiga dar manutenção no código gerado, e mesmo que conseguisse, o tempo que perderia, seria um custo inviável. Pensem que uma simples consulta pode gerar até 3megabytes de código, que louco em programação trabalharia nesse código?

Sugestão minha: “Não se preocupe com o código gerado pelo SC, e sim no backup dos fontes em SC”.

(Reação Web) #4

Certo Haroldo, mas é que estou pensando em disponibilizar algumas versões de teste dos sistemas e se alguem alterar o fonte, eles conseguem aumentar o tempo de teste, seria por isso!!

(Haroldo) #5

manda numa vm.

(Reação Web) #6

como assim vm?
Máquina Virtual? Tipo Virtual Box?

(Reação Web) #7

Outro motivo é que agora surgiu a necessidade de locar os sistemas, alguma sugestão?
Todo mês que o cliente pagar, vamos até ele e substituímos a versão antiga por uma atual com a data de expirar com mais 30 dias de uso!

(George Carvalho) #8

Hospeda os sistemas em seu servidor.

(Reação Web) #9

Existem clientes que não tem acesso a internet.

(Haroldo) #10

Eu uso vmwhere.

(saulobborges) #11

Cara sem internet vai ser complicado de você validar de maneira confiável a utilização dos seus sistemas, eu fiz uma soluçãozinha meio escrota mais ta funcionando, onde criei uma aplicação com conexão a um banco de dados meu onde tenho informações do cliente, serial do sistema, tempo de validade, inadimplencia, quantidade de logins simultâneos, etc… faço essa verificação no login inicial, antes mesmo de o cara tentar loga ele ja recebe uma mensagem em html mesmo falando qual o problema da licença. Dá pra amarrar inclusive com o domínio e ip. Outra opção e gerar uma chave e criptogravar um arquivo texto com a chave dentro e toda vez ler esse arquivo com as informações da licença.

Mas a coisa mais segura mesmo é manter no seu ambiente seu sistema e o cliente acessa-lo de fora, sem acesso a código e a nada.

(ronaldofmorais) #12

Olá Pessoal

Tem uma ferramenta chamada ionCube que é concorrente do Zend Guard e tem o preço bem mais em conta. Vale a pena dar uma olhada.
(Reação Web) #13

saulobborges me interessou e muito a sua solução, principalmente na parte de limitar o acesso simultâneo!
você poderia me ajudar a montar um script desses?
Eu tentei fazer algo aqui mas não consegui!
Tentei até amarrar o sistema com o código do processador, hd, versão windows e outras infos, mas não consegui fazer isso pelo php!!

Obrigado

(Haroldo) #14

http://www.netmake.com.br/forum/index.php?topic=4439.msg17569#msg17569

(Reação Web) #15

obrigado haroldo!

Para amarrar o usuario ao processador, hd e algum dado da placa mae tem como?
Isso só no caso do projeto rodar em maquina local

(Haroldo) #16

se roda phpinfo(); verá tudo que poderá controlar.

Mas porque essa preocupação, de reinstalarem seu software outra maquina, controle número de usuários online por CNPJ, problema da empresa que copiou, e se colocar outro cnpj, você não valida.

(Reação Web) #17

tem um problema, tem alguns clientes que não possuem internet, já pensei em fazer uma segunda conexão de banco e verificando alguns dados como serial, cnpj, nome fantasia e razão social, mas nesse caso dos clientes sem internet não dá

(Cleyton Euler) #18

Acho que você pode trabalhar com um arquivo com dados criptografados.

No seu sistema você faz uma aplicação que trata esse arquivo e valida a licença. Sempre que a licença expirar o cliente tem que pedir um novo arquivo de validação.

(Reação Web) #19

certo cleyton, mas como trabalho com essa criptografia?

Por ser local o servidor, ouvi falar de alguns programas gratuitos inclusive que criptografam os códigos, mas precisam de uma aplicação instalada no servidor, procurei algo na internet mas não achei, alguém sabe de algum?

(Cleyton Euler) #20

Dá uma lida sobre a criptografia base64. O PHP tem função nativa para tratar este tipo de criptografia.
Lembrando que vc pode usar outros tipos como md5, sha-1, sha512, etc. A diferença está basicamente no tamanho da string gerada e que todos que citei, com exceção do base64 é que são métodos de mão única, ou seja, apenas criptogra, não sendo possível fazer descriptogria do conteúdo. Já o base64 faz a descriptografia baseada na chave definida na criptografia.