Skip Navigation Links
Novas Tecnologias
Ferramentas Adicionais
Ferramentas Adicionais


Dica No :
326
Assunto : DHTML
Titulo: Protegendo e quebrando código JavaScript

Gostou do texto ? Vote e dê sua opinião! Pontuação atual :

Translate this page now :






Adicione aos Favoritos!
BlogBlogs Rec6 Linkk Ueba Technorati Delicious DiggIt! StumbleUpon



Código no client é inseguro, por definição. Um hacker sempre pode rouba-lo, as vezes mais facilmente, as vezes com um pouco mais de dificuldade, mas sempre pode.

Os desenvolvedores tentam constantemente proteger seu código JavaScript, mais para evitar verem seu trabalho copiado do que por questões ligadas a segurança propriamente.

Veja alguns passos e problemas típicos na proteção de código javascript :

View Source

O View Source do Browser permite que o usuário veja o código da página que o browser recebeu. Alguns programadores tentam, erroneamente, evitar isso, impedindo que o usuário clique com o botão direito do browser.

Para impedir que o usuário veja seu código javascript pelo view source basta que seu código javascript esteja em arquivo separado, ao invés de no mesmo arquivo. Utiliza-se o parâmetro SRC da tag script para fazer isso, veja :

<Script SRC="javascript.js"></script>

Solicitacao direta

Ainda assim um usuário pode identificar o nome deste arquivo : javascript.js no source de sua página e solicita-lo diretamente na URL utilizando o formato http://seuservidor/javascript.js

Para impedir isso basta que o arquivo não seja um simples .JS, mas sim um arquivo ASP. Sendo um arquivo ASP pode-se verificar a variável HTTP_REFERER para verificar quem chamou o arquivo e assim impedir que o arquivo seja chamado diretamente, conforme explicamos em uma dica aqui no site no endereço http://www.bufaloinfo.com.br/dicas.asp?cod=26

Cache do Browser

Mesmo resolvendo os problemas acima ainda existe o cache do browser. Com o arquivo gravado no cache é possível para o usuário simplesmente abrir o arquivo no notepad.

Para impedirmos que isso ocorra é necessário impedir que o arquivo javascript fique gravado no cache. Na dica que encontra-se em http://www.bufaloinfo.com.br/dicas.asp?cod=16 mencionamos as instruções necessárias para que uma página não fique em cache. Porém existe ai um erro de grafia, pois No-Cache se escreve com esse hifen separando as palavras.

JavaScript

Sem poder chamar o arquivo diretamente ou recupera-lo do cache, já ficou muito mais difícil para um intruso obter o arquivo javascript conforme deseja. Poucos intrusos saberiam recuperar esse arquivo javascript, mas ainda existe um recurso para fazer isso. O intruso pode chamar sua página e, após carregada, digitar a seguinte linha na URL :

javascript:void(document.body.innerHTML+="<a href=javascript.asp>clique aqui</a>")

Um novo link será incluido na sua página. Clicando nele o intruso verá seu código javascript. Isso porque o referer, ou seja, a origem do clique, foi a sua própria página.

É muito difícil impedir que isso ocorra. Já vi alguns tentando programar o evento onpropertychange do objeto window, mas nesse caso basta utilizar :

javascript:void(window.onpropertychange="")

e depois usar a instrução logo acima novamente.

Alguns truques com variáveis de sessão também são possíveis, mas muito pouco práticos e ainda assim quebráveis.

Pelo menos, consegue-se dificultar muito o acesso aos scripts client.


Nome :
E-mail:
Comentarios :
 
 
Os Últimos Comentários
data: 1/31/2017 11:02:00 PM
nome: vCLQNdPKQRYGUayrUGr
email: derby451@hotmail.com
comentário:
Fz7Ld4 http://www.y7YwKx7Pm6OnyJvolbcwrWdoEnRF29pb.com

data: 1/31/2017 12:22:00 PM
nome: lFyPLmmPVLxRzHyI
email: derby451@hotmail.com
comentário:
Lbtm5w http://www.y7YwKx7Pm6OnyJvolbcwrWdoEnRF29pb.com

data: 1/29/2017 10:02:00 PM
nome: NrAYGWBzRNzsBCRD
email: derby451@hotmail.com
comentário:
Kdq5kn http://www.y7YwKx7Pm6OnyJvolbcwrWdoEnRF29pb.com

data: 1/29/2017 9:00:00 PM
nome: gnOlnnfzLcmUbNp
email: jogcbfn@hotmail.com
comentário:
6r1TsO http://www.y7YwKx7Pm6OnyJvolbcwrWdoEnRF29pb.com

data: 1/29/2017 10:00:00 AM
nome: nfuQqGHYSSTDPnhdazB
email: derby451@hotmail.com
comentário:
5LSYF2 http://www.y7YwKx7Pm6OnyJvolbcwrWdoEnRF29pb.com

 1  
Dicas
Dica do Dia
Receba Dicas Por Email
E-mail :  
 


 (help)
Aceito receber informativos do devASPNet, informações de eventos e treinamentos

Veja Quais Informativos Você Receberá

Pesquisar Dicas
Pesquisar Artigos, Dicas e Noticias

Banco de Dados
Algumas Entrevistas
Links Importantes

Búfalo Informática, Treinamento e Consultoria
R. Alvaro Alvim, 37/920 Centro - Cinelândia - Rio de Janeiro Cep: 20031-010
Tel : (21) 2262-1368 (21) 9240-5134 E-mail : Contato@bufaloinfo.com.br