Proteger código fonte

Como que posso fazer para proteger meu código fonte gerado no SC5 para que ele não seja visto ou copiado por usuários mal intencionados? oque vc´s usam hoje?

Zend Guard.

Eu não uso nada para ofuscar o código.
Agora quem vai ser o programador louco que vai querer dar manutenção nesse código gerado pelo SC?
Seria inviável, custoso, e até inconseqüente, pois código é por demais complexo e carregado.

Não me preocupa enviar minhas aplicações com o código aberto, até gostaria de me preocupar com isso, pois assim minhas aplicações seriam mais leves, menores em tamanho.

1 Curtida

Obrigado pelo retorno de vcs, eu me preocupei a toa, o Harold tem razão, o código é ruim de veer mesmo, eu testei o Zend Guard, mas achei o preço dele salgado demais para mim agora, quem sabe no futuro.

Faço como o Harold disse…

Até já tive um feedback de um programador que apareceu no cliente, abriu os fontes e disse que nunca tinha visto um código php tão complicado.

VOu fazer isso tambem, deixarei como ta, fiz alguns testes e aparece somente alguma coisa do menu principal quando se olha o fonte pelo EXIBIR CODIGO FONTE no navegador, a preocupação maior era alguem de dentro conseguir acesso a eles mesmo, mas realmente, entender tudo aquilo la não é facil não

Obrigado a todos

Só para enriquecer um pouco o assunto rsrs… mas como fazer com que seu sistema não rode em outro computador? digo no caso de um engraçadinho copiar meu codigo e levar para outra empresa?

existe alguma maneira de fazer isso? no caso bloquear a execução do aplicativo?

estava acostumado com vb onde vc capturava o serial do hd, etc… tem como fazer isso com o Scriptcase?

Abraços

Pessoal resolvi pesquisar um pouco e conseguir fazer um código simples para vc pegar o serial do hd e comparar com o da sua instalação no cliente. Bem legal isso resolve minha questão, espero que ajude.

É claro que para uma segurança melhor podemos aplicar uma criptografia para não ficar tão na cara… rs


// Captura o conteúdo do comando VOL
$IdVolume = exec("VOL"); 

// Pega os valores correspondentes ao serial do hd
$serial_hd = substr($IdVolume, -9); 

// Uma variavel com o número de serie do cliente para futura comparação.
$licenciado_para = "5C8C-E4A9";

// Comparação simples
if ($serial_hd != $licenciado_para){
	echo "Software não licenciado. Contacte o adiministrador do sistema.";
} else {
	echo "Software licenciado para EMPRESA.";
}

Abraço

Luis Gustavo M L Leal

lgmlleal@gmail.com
msn: lgmlleal@hotmail.com.br
www.luisgustavo.com.br
Nextel (12) 7815 3905 id 8*189181
cel: +55 (12) 9155 1718

Geralmente a função exec não é liberada em provedores.

se exec n funcionar, tenta pegar ip, nome da maquina nas variaveis do php, dominio …

pra travar pra 1 cliente … a gente faz varias travas … se uma ou outra falhar, tudo bem, vc n pode exigir o exec, mas pode travar o dominio, se vier de um dominio, ip difernte bloqueia … seria o caso da pessoa copiar e colocar em outra maquina, outro dominio, subdominio …

eu controlo por número de usuários acessando simultaneamente, se o cliente copiar tudo bem, o código de registro,cnpj, é validado no meu webserver, se estourar o nro de acessos simultâneos permitido para registro, cnpj, quer dizer que ele copiou ou permitiu a cópia, fica registrado no meu webserver, automaticamente eu informo o cliente do ocorrido e que uma cobrança adicional será enviada.

1 Curtida

Geralmente vcs tem instalado no cliente a estrutura ou é em data center (Locaweb, UOL, próprio…).

em ambos.

Ola minha sugestão é para cliente (Local) não costumo deixar as aplicações em provedores.

Abraço

1 Curtida

Como você faz?

Joelton,

Como faço esse controle?

Não expliquei bem?

Hoje eu jogo tudo dentro de uma vm sem acesso ao cliente.

1 Curtida

Se quiser um controle simples e tendo em vista que o IP não é fixo e pode mudar, você pode usar o comando
strtolower(gethostbyaddr($_SERVER[‘REMOTE_ADDR’]));
Assim irá trazer o nome do micro.
Aí vc pode fazer um controle pelo nome e não por IP.

Só para enriquecer um pouco o debate. Tentei usar esse cara aqui -> http://www.ioncube.com/ , mas não funcionou… Ele é incompatível com uma função que o scriptcase usa internamente.

Dá o seguinte erro:

Error “eval()'d code is corrupted.”

Mas mesmo assim eu adquiri o Ioncube e protejo minhas outras aplicações. Uma coisa interessante a se fazer e que ainda não tentei é agrupar rotinas importantes em um arquivo a parte, carregar este arquivo dentro das aplicações feitas no SC e proteger pelo menos este arquivo… bom… sei lá… é algo a testar que não testei ainda :stuck_out_tongue: Lembrando que tem de ter um módulo configurado no PHP da maquina que vai rodar os arquivos e dependendo do hosting você não conseguirá instalar.

Amigos,

Só para contribuir com o post, após esta leitura procurei solucoes para PHP encoder.
Nao se se funciona, mas olha o que achei: https://codecanyon.net/item/php-encoder-obfuscator/12925043

Alguém já usou este ofuscador de codigo?

ioncube
sourceguardian
phpshield
phpcipher
truebug
phc
bcompiler