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.
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.
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
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.
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 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