Projeto HTML + Java na Intranet - como fica a proteção do código fonte?

Bom Dia,

Trabalho com Flex + Java e disponibilizo a aplicação em um servidor próprio na internet. Porém, tenho alguns clientes solicitando a aplicação na própria intranet.

Sei que as classes do Java podem ser facilmente descompiladas e re-gerar praticamente o projeto inteiro.
Já o compilado do Flex mesmo que dê para descompilar fica um código mal gerado que pouco se consegue entender, o que me dava certa segurança em colocar isso na intranet.

Agora com essa decadência do Flex, para os próximos projetos vou considerar fazer a camada da visão em HTML.
Só que o HTML/CSS/JS não são compilados ficando todo o código visivel para o cliente.

Dessa maneira, ele não conseguiria copiar todo o projeto? Tem alguma maneira de aumentar a segurança ou é bobagem se preocupar com isso?

Há algumas tecnicas para dificultar o entendimento do codigo descompilado, ajudam bastante.

Quando ao HTML/CSS/JS acho dificil, até pq mesmo sem acesso local da pra ‘puxar’ tais dados de um JavaWeb/ASP.net/PHP/etc

Pra Javascript tem os Packer, eu uso esse:
dean.edwards.name/packer/

Tá fora do ar agora, mas achei esse outro:

Os 2 comprimem javascript renomeando as variáveis pra letras simples (a,b,c). Se o cara passar nesse outro site recupera o javascript mas as variáveis continuam comprimidas
http://jsbeautifier.org/

O jeito seria declarar as funções como variáveis também, ai comprimiria elas

Pra HTML/CSS o gmail eu sei oq ofusca pra diminuir o tamanho, mas não conheço as ferramentas que fazem isso

Sua dúvida é com relação a presernação do código fonte de sua aplicação ou segurança no servidor?
Você pode garantir a segurança em ambas as formas. :wink:

“Decompilar” um projeto java e gerar o projeto inteiro funcionando eu acho praticamente impossível. =)

Já a parte de HTML/CSS não tem muito pra onde correr não. Acostume-se. :slight_smile:

[quote=victorcosta]Pra Javascript tem os Packer, eu uso esse:
dean.edwards.name/packer/

Tá fora do ar agora, mas achei esse outro:

Os 2 comprimem javascript renomeando as variáveis pra letras simples (a,b,c). Se o cara passar nesse outro site recupera o javascript mas as variáveis continuam comprimidas
http://jsbeautifier.org/

O jeito seria declarar as funções como variáveis também, ai comprimiria elas

Pra HTML/CSS o gmail eu sei oq ofusca pra diminuir o tamanho, mas não conheço as ferramentas que fazem isso[/quote]

O do Google é bem melhor que estes 2 fraquinhos.

[quote=boone][quote=victorcosta]Pra Javascript tem os Packer, eu uso esse:
dean.edwards.name/packer/

Tá fora do ar agora, mas achei esse outro:

Os 2 comprimem javascript renomeando as variáveis pra letras simples (a,b,c). Se o cara passar nesse outro site recupera o javascript mas as variáveis continuam comprimidas
http://jsbeautifier.org/

O jeito seria declarar as funções como variáveis também, ai comprimiria elas

Pra HTML/CSS o gmail eu sei oq ofusca pra diminuir o tamanho, mas não conheço as ferramentas que fazem isso[/quote]

O do Google é bem melhor que estes 2 fraquinhos.[/quote]

Tais falando desse?
http://closure-compiler.appspot.com/home

Testei aqui ele comprimiu funções também

e no modo advanced comprimiu até as chaves dos hash e plugins jQuery ($.fn.*)

O negócio é bom mesmo, só tem q tomar cuidado pra caso ele comprima uma função no $.fn e você depois tenta executá-la com o nome original. Meio que obriga você a ter todo código javascript em arquivos .js, nada inline

Concordo.
FireBug wins! =)

Cara, eu não vejo muitos motivos para se preocupar com códigos de view - a menos que você esteja colocando regras de negócio lá!

Com relação ao código Java, use um ofuscador, não vai impossibilitar, mas já filtra bastante quem consegue ver o código.