Fechar

Proteja seu código-fonte PHP

Por | 20 de novembro de 2008 | Desenvolvimento 37 comentários

Ola pessoal!

Hoje estive num dilema danado para fechar negócio com um cliente considerado promissor.

Descontente com o freelancer que antes desenvolvia seu site, ele resolveu procurar uma empresa para assumir o projeto, logo nos encontrou na web.

Na primeira reunião que tive com ele, ja me adiantou que não abriria mão da hospedagem que havia contratado a pouco tempo e comentou também que a pessoa que desenvolvia seu site agora trabalhava na empresa onde ele contratou a hospedagem.

Fiquei com uma pulga atrás da orelha porque o sistema que seria disponibilizado para a administração do site dele, é desenvolvido em PHP e a linguagem não possui nenhuma proteção nativa do código fonte.

Como é um software desenvolvido a mais de 4 anos e minha empresa tem parte de seus ganhos vindos dele, não gostaria de vê-lo rodando por ai sem permissão e o pior, alguém ganhando em cima do meu trabalho.

Então, fui “Googlar” um pouco e com a ajuda de meu sócio, encontramos ferramentas que ajudam a proteger os códigos-fonte de softwares escritos em PHP.

Uma destas ferramentas é o Zend Guard que nem vou comentar muito pelo valor de licenciamento meio salgado que fica em torno de $600 anual.

Zend Guard!

Zend Guard para Linux!

Um produto mais em conta é o PHP LockIt! que trabalha de forma parecida ao Zend Guard e que tem um valor de apenas $29.99.

Alguns recursos do PHP LockIt!

  • funciona com PHP 4 ou PHP 5
  • não necessita de software adicional instalado no servidor
  • possibilita a leitura de diretórios e de forma recursiva, aplica a criptografia
  • permite bloqueio de scripts para um ou mais endereços IP
  • permite a geração de chaves para criptografia
  • e muito mais..
PHP Lock IT!

PHP Lock IT!

OK! Não quer gastar nada? Encontramos solução também.

O POBS (PHP Obfuscator) é um pacote que roda via web (você pode colocá-lo a rodar na sua máquina local também, basta ter um servidor web, tal como o Apache, rodando) e apesar de não ter recursos avançados de proteção como o PHP LockIt!, quebra um galhão codificando variáveis, funções e etc.

PHP Obfuscator!

PHP Obfuscator!

Outros encontrados mas não testados:

Update: indicação do leitor Ronaldo Meneeshttp://www.bambalam.se/bamcompile/

Claro que, assim como existem ferramentas para o PHP, existem também para outras linguagens, tal como o javascript.

Lembre-se que todos os softwares citados acima ajudam a proteger o código, isso não quer dizer 100% de segurança.

Se alguém souber de mais algum software que realize tal tarefa, por favor, deixe seu comentário.

Grande abraço!

Marcadores: , ,

Outros conteúdos interessantes

Confira os 37 comentários deixados Comentar

  1. Jackson via Rec6
    20:12 em 20 de novembro de 2008
    1

    Profissionais TI » Proteja seu código-fonte PHP…

    Ferramentas que ajudam na proteção do código-fonte PHP. Não pode ser garantido 100% se segurança, porém, complica a vida de quem quiser o fonte….

  2. Klaus
    10:05 em 25 de novembro de 2008
    2

    Bah! Muita falta de ética do cara de fuçar nos fontes dos clientes que ele hospeda hein?!

  3. Jackson Caset
    13:14 em 25 de novembro de 2008
    3

    Concordo plenamente Klaus!

    Mas para nos protegermos deste tipo de “profissional”, fica a dica acima.

    Grande abraço

  4. Djeison
    13:24 em 25 de novembro de 2008
    4

    Como leitor assíduo, gostaria de comentar algo sobre o relato acima, em poucas palavras:
    “Nem a Revista Info pensa em postar dicas tão úteis como as que aqui são postadas, continuem assim”. menos MARKETING mais CONHECIMENTO E EXPERIÊNCIA.

    Abraço jackson.

  5. Jackson Caset
    16:04 em 25 de novembro de 2008
    5

    Opa Djeison,

    Fico grato pelo comentário. Todo comentário (elogios ou críticas) são bem vindos para o crescimento do site.

    Abraço

  6. Silas Lopes
    10:38 em 29 de novembro de 2008
    6

    Olá Jackson!
    Primeiramente, parabéns pelo post!
    Agora, essa questão de proteger código-fonte (principalmente do PHP) é muito foda.
    O dono da empresa quer o “seu” sistema rodando dentro da empresa dele, e contrata o “sobrinho” pra dar manutenção no site da empresa. Ele pega todos os seus fontes, faz gambiarra, copia, repassa pra todo mundo, enfim, faz de tudo. E você (programador)?? Onde entra nessa história?
    Eu já ouvi falar de alguns desses programas, mas ainda não tive a oportunidade de utilizá-los. Mais uma vez, parabéns!

    Abraços.

  7. Jackson Caset
    11:32 em 29 de novembro de 2008
    7

    Ola Silas!

    Agradeço a visita e o comentário. Espero que continue ligado no Profissionais TI. Estamos preparando muitas outras coisas específicas para a área.

    Sobre seu comentário. Realmente é algo bem complicado, ainda mais qnd vc perde horas, dias, meses e anos trabalhando em algum aplicativo.

    Estou utilizando o PHP LockIT. Pagamos uma licença e estamos bastante satisfeitos.
    É praticamente impossível alguém conseguir a engenharia reversa :)

    Grande abraço.

  8. Gerson Santini
    16:32 em 9 de dezembro de 2008
    8

    Parabéns, pela forma direta e objetiva das informações. Resaltando que entrei em contato por telefone e fui muito bem atendido pelo Jackson.
    Fico feliz por encontrar um site onde as informações são claras , objetivas e veridicas. Gerson Santini – Itapema – Sc

  9. Ronaldo Menees
    17:39 em 14 de dezembro de 2008
    9

    Existe o BAMCOMPILE que é freeware e transforma scripts php em executaveis , que podem ser usados com CRON.

    http://www.bambalam.se/bamcompile/
    Ronaldo Menezes – Consultor tecnico – Lisboa – Portugal

  10. Jackson Caset
    8:39 em 15 de dezembro de 2008
    10

    Ola Ronaldo,

    Agradeço muito seu comentário. Ja alterei o post com sua colaboração.

    Grande abraço

  11. Profissionais TI » Retrospectiva 2008!
    16:40 em 22 de dezembro de 2008
    11
  12. Profissionais TI » Dicas para o dia-a-dia de um profissional de TI
    12:59 em 13 de janeiro de 2009
    12

    [...] conteúdo interessante sobre informática básica, equipamentos, softwares, sistemas operacionais, segurança e [...]

  13. Rafael Dantas
    20:48 em 31 de março de 2009
    13

    Grande Jackson! Sempre com Posts muito úteis.. Muito interessante essa de proteger o código ai..
    PTI tá de parabéns!

    Grande Abraço

  14. Jackson Caset
    0:33 em 1 de abril de 2009
    14

    Opa Rafael,

    Realmente é algo importante a se pensar. Principalmente os códigos que fazem a “mágica” em seus sistemas…classes, funções e etc.

    Agradeço muito a visita e o comentário. Abraço!

  15. Fabiana
    17:47 em 14 de abril de 2009
    15

    Gostei muito, tem algum jeito de colocar um form na pagina para o script php somente rodar após inserir a licença ? Vi um site que vende sistemas onde cada licença e gerada para o domínio que comprar, e depois de instalado a pessoa entra com a licença em um form. Alguem sabe qual programa faz isso ?

  16. Jackson Caset
    10:22 em 15 de abril de 2009
    16

    Oi Fabiana,

    Com certeza teria como fazer algo (não sei se já existe algum pronto open source). Eu mesmo tenho um sistema web que faz a validação (em um servidor da empresa) de uma chave variável ligada ao domínio onde o mesmo esta rodando. Não é algo complicado de se fazer, mas tbm não é tão simples pois, deves pensar em várias situações por onde poderiam rodar o sistema sem a chave e etc.

    Obrigado pela visita e comentário. Abraço!

  17. O que é mais importante para se dar bem no mercado? | Profissionais TI
    7:01 em 18 de maio de 2009
    17

    [...] vida acadêmica, por exemplo, quantas vezes você já utilizou um código-fonte de um colega e alterou as variáveis? No final das contas você obtém formação igual a esse [...]

  18. Seguran?a em servidor remoto
    12:04 em 20 de julho de 2009
    18

    [...] do seu c?digo, no caso do PHP poder? utilizar ferramentas que protegem o mesmo. Veja no link: Proteja seu código-fonte PHP | Profissionais TI __________________ — S?rgio Souza Termos de Uso Under-Linux Use sempre Pesquisar ? [...]

  19. Fabio Monteiro
    14:56 em 2 de agosto de 2009
    19

    Caros amigos, fico feliz por ter encontrado pessoas como voces que valorizam seus trabalhos e se preocupam com a integridade de seus fontes, seus posts foram muito uteis para mim, pois estou finalizando um desenvolvimento e preciso colocar o meu sistema para rodar no pc de meu cliente, vou usar o phplockit e com certeza vou resolver meu problema, mais uma vez muito obrigado pelo post e continuem assim, tambem estou a disposiçao para ajuda-los dentro dos meus conhecimentos. abraços.

  20. Jackson Caset
    11:50 em 3 de agosto de 2009
    20

    @Fabio,

    Ficamos extremamente felizes quando conseguimos alcançar o objetivo do PTI que é disseminar informação. Agradeço muito pelo comentário e espero “vê-lo” mais vezes por aqui.

    Grande abraço

  21. Cleiton Domazak
    15:56 em 6 de outubro de 2009
    21

    Tem o eAccelerator que alem de encriptar o codigo fonte é um excelente tuning de codigos php guardando em cache a compilação dos arquivos e alem do tuning ele diminiu o trafego http, da uma melhora de performance nas aplicaçõs fantastica, vale a pena conferir.Na empresa que trabalho utilizavamos Zend e ai migramos para o eAccelerator e o comentario é geral da melhora.
    Vlw

  22. Adriana
    2:28 em 14 de dezembro de 2009
    22

    Oi, em situações como essas é realmente importante proteger o código PHP, só pra colaborar quero dizer que existe também o programa PHP-CRIPA para criptografia de arquivos PHP, é só dar uma pesquisa no google, esse é totalmente gratuito.

  23. Jackson Caset
    8:24 em 14 de dezembro de 2009
    23

    @Cleiton, @Adriana

    Ótimas dicas. Agradecemos a colaboração!

    Abraço

  24. Denis
    12:10 em 24 de março de 2010
    24

    Excelente dica, estamos procurando ferramentas avançada nesse sentido aqui na empresa. Atualmente utilizamos o Sourcecorp, mas ele está muito frágil ( e é tão fácil encontrar o processo de descriptografar no google).

    No ano passado, chegamos a testar o Source Guardian, mas vou dar uma olhada nas sugestões apresentadas no artigo.

  25. Hellen Lemos
    3:30 em 26 de maio de 2010
    25

    Jackson parabéns pelo artigo. Foi escrito há 1 ano e meio e certamente sempre será atual.

    Devido aos problemas mencionados por você, nos últimos três meses testei vários software de criptografai de scripts PHP. O que mais me agradou foi o http://www.ioncube.com.

    Foi o único que na primeira teste rodou 100%, sem nenhuma falha.
    A versão de avaliação expira em 14 dias mas o script criptografado expira em 3.

    Além de lhe elogiar e agradecer pelo artigo, estou escrevendo para que você (ou outro leitos do blog) possa me ajudar na seguinte dúvida:

    De que maneira posso comprar o ioncube? Basta colocar o dinheiro na conta deles? É seguro? Como proceder para comprar software de empresas estrangeiras de um modo geral?

    Desde já agradeço.

    hellen.lemos@hotmail.com

  26. Jackson Caset
    21:20 em 26 de maio de 2010
    26

    Hellen,

    Obrigado pelo elogio e pela participação.

    Bom, infelizmente não sei lhe dizer nada a respeito do ioncube, até mesmo pq não o conhecia, porém, creio que a compra pode ser tranquila, basta que vc faça uma boa pesquisa acerca da empresa (para conhecer mais sobre sua reputação, inclusive no Brasil), questione as formas de pagamento disponíveis e quais as garantias que oferecem.

    Não posso lhe dizer que é algo 100% seguro. Até mesmo em lojas perto da gente existem calotes, no entanto, me pareceu uma empresa séria e que vende um produto interessante.

    Se mais alguém quiser comentar a respeito, fiquem a vontade.

    Grande abraço

  27. Hellen Lemos
    0:22 em 17 de junho de 2010
    27

    Olá Jackson.

    Comprei o ioncube. Foi tranquilo. Passei o número do cartão e em 5 minutos recebi o link por emal pra fazer o download.

    O programa faz o que promete. Muito bom.

    Recomendo a todos.

    Obrigada pelas dicas.

  28. Renato
    23:22 em 20 de agosto de 2010
    28

    Gente essas empresas de “Desenvolvimento de sites” principalmente as “fundo de quintal” ficam copiando sites, olhando seu código de fonte, explorando seus arquivos. Então é muito importante a Criptografia desses códigos. Para própria segurança do seu cliente e da privacidade.
    Eu particulamente conheço muitos “Programadores” curiosos, e sempre ficam olhando o codigo de fonte, preocupado se a pessoa usou CSS ou Tabelas. E uma chatisse que so deus.

    MAS RECOMENDO TODO MUNDO PROTEGE SUAS PAGINAS CONTA COPIADORES.

  29. kiver
    15:05 em 3 de outubro de 2010
    29

    a melhor coisa a ser feita e barata no meu caso, é criar um subdominio para armazernar somente o core do seu sistema, oque seria suas libs, js, e arquivos .php inportantes, fica fácil para manutenção e um cara que não tenha sua senha nunca conseguirá copiar teus fontes :D

  30. Lucio
    20:07 em 7 de outubro de 2010
    30

    Hellen, infelizmente o Ioncube existe um programa que decompila a criptografia, eu testei, não é 100% a decompilação, porem da pra pegar muitas partes e corrigir os erros sem maiores dificuldades.

    Dessa lista que foi apresentada, apenas o PHP LockIt não encontrei problemas com “hack” e ou scripts.

    E ele é bem simples e barato.

    Minha intenção é ajudar e não prejudicar, por isso não vou divulgar nome do programa que descriptografa (obs: esse programa tambem é pago 15$ por arquivo, o free só deixa 5 arquivos)

    Obrigado pela dica Jackson, seu tópico me ajudou muito!

  31. Lucio
    4:23 em 8 de outubro de 2010
    31

    Não sei se pode colocar dois comentarios seguidos, mas o anterior não da pra editar =/

    Queria falar que acabei encontrando problemas no PHP LockIt… é mais facil que os outros programas pra decodificar… Acabei descobrindo agora pouco. um simpres base64_decode revela toda a magica…

    Vou continuar minha busca :)

  32. Diego
    11:12 em 13 de maio de 2011
    32

    Desculpa por esta indo em um caminho contrario.
    A empreza que trabalho tinha uma tercerização do serviço de TI
    Hoje chegaram a conclusão que precisavam de uma mão de obra especializada no quadro de funcionario deles para cuidar apenas dessa questão de TI.
    Pois bem sobro para mim. Mas como ja esperava os problemas descobri o mais grave o software de ERP esta criptografado pelo lock it base64_decode e ja baixei até o phpunlock it porem sem sucesso gostaria de saber se tem como eu reverter essa criptografia???

    Vlw.

  33. Walter
    17:03 em 15 de junho de 2011
    33

    Vocês gostaram mesmo deste produto (PHP lockit!)?

    Então, leiam este artigo:
    http://pt.scribd.com/doc/55884324/Php-Lockit

    Aconselho a leitura principalmente para quem já usa.
    Boa sorte!

  34. rogério
    6:40 em 18 de junho de 2011
    34

    Muito bacana o post.
    Vou até colocar uma outra situação para que os colegas…
    Seguinte: depois de árduas horas de trabalho pra vc entregar seu trabalho nas mãos de gente que depois “pode” repassar ao sobrinho, é no mínimo sacanagem, desvalorização do profissional. Sabemos que existe a ignorância de gente que pensa apenas pelo preço baixo pq “qualquer” sobrinho faz ou mantém depois.

    Em cima disso e vcs podem me esclarecer:
    1º criptografando o código, mesmo que baixando os arquivos pelo servidor ninguém vai conseguir “abrir”, ainda mais um sobrinho,certo?
    2º Dúvida recorrente, criptografar prejudica na indexação do site, no Google?(pq dá pra criptografar até o HTML,né!)?
    3º Os direitos autorais da questão…alguém que tenha criptografado o código, ou que conheça alguém, existe alguma prática recorrente ou algo que diga que parte do código tem seus direitos reservados ao programador?Enfim, algo que justifique a criptografia de todo o php, pq me parece lógico que se faça isso pelas rotinas criadas (particulares), mas que há a valorização do trabalho tb diante da suposta entrega do trabalho onde depois vai cair nas maos do sobrinho e aí vc deixa criptografado. Olha, nao sei se é certo fazer isso, mas que adorei a ideia qdo ouvi, adorei.

    Vlw

  35. Márcio Simão
    19:55 em 19 de agosto de 2011
    35

    Acessei a página recomendada pelo Walter e vi que a segurança do PHP LockiT! foi quebrada em 10 minutos… Vida cruel a nossa de desenvolvedor PHP, é difícil encontrar uma ferramenta alternativa ao Zend Guard.

    Parabéns pelo artigo, Jackson!

  36. Rafael Costa
    16:13 em 12 de setembro de 2011
    36

    Simples resolver isso. Ninguém faz sistemas abertos . Adquira seu próprio server dedicad , crie sistemas apenas onde só você pode acessar e pronto.

  37. arthur
    18:31 em 29 de outubro de 2011
    37

    Esse PHP Los funções dele pckIt! é tudo de bom,pq,vc pode usar todas aor 30 dias…
    É só escolher o diretório com seus scripts e criptografar, que os arquivos não vão perder as funcionalidade…


Deixe seu comentário!