É possível ocultar o código Javascript do html de uma página da web, quando o código-fonte é visualizado através do recurso Exibir código-fonte do navegador?
Eu sei que é possível ofuscar o código, mas eu preferiria que ele ficasse oculto do recurso de fonte de exibição.
javascript
browser
hide
obfuscation
Arun Nair
fonte
fonte
Respostas:
Não tenho certeza se alguém realmente abordou sua questão diretamente, que é o código sendo visualizado no comando Exibir código-fonte do navegador.
Como já foi dito, não há como proteger o javascript para rodar em um navegador de um determinado visualizador. Se o navegador pode executá-lo, qualquer pessoa determinada também pode visualizá-lo / executá-lo.
Mas, se você colocar seu javascript em um arquivo javascript externo que está incluído com:
<script type="text/javascript" src="http://mydomain.com/xxxx.js"></script>
, o código javascript não ficará imediatamente visível com o comando Exibir código-fonte - apenas a própria tag de script ficará visível dessa forma. Isso não significa que alguém não possa simplesmente carregar aquele arquivo javascript externo para vê-lo, mas você perguntou como mantê-lo fora do comando Exibir código-fonte do navegador e isso vai resolver.
Se você realmente quisesse tornar mais trabalhoso visualizar a fonte, você faria tudo a seguir:
Com tudo isso dito, acho que você deve se concentrar em desempenho, confiabilidade e em tornar seu aplicativo excelente. Se você absolutamente tem que proteger algum algoritmo, coloque-o no servidor, mas fora isso, concorra para ser o melhor em você, não por ter segredos. Afinal, é assim que o sucesso funciona na web.
fonte
<script>
iria mantê-lo melhor fora da View Source (ainda visível no DOM ao vivo) - ou seja, não pode ser apenas "clicado com o botão direito" na Source View. Pode ser possível que o referido<script>
elemento seja removido uma vez que o JavaScript seja executado, tornando-se um pouco mais complicado (mas não impossível) de obter o código original ... é claro que o tráfego da rede aparecerá muito prontamente no Firebug ou similar ;-)Não, não é possível.
Se você não o fornecer ao navegador, é porque o navegador não o possui.
Se o fizer, então ele (ou uma referência facilmente seguida a ele) faz parte da fonte.
fonte
Minha solução é inspirada no último comentário. Este é o código de invisible.html
O código claro de invisible_debut.js é:
Observe que no final estou removendo o script criado. invisible.js é:
invisible.js não aparece no console, porque foi removido e nunca no código-fonte porque foi criado por javascript.
Com relação a invisible_debut.js, eu ofuscei, o que significa que é muito complicado encontrar a url de invisible.js. Não é perfeito, mas é difícil para um hacker normal.
fonte
invisible.js
nas fontes. Versão do Chrome 34.0.1847.131 mUse Html Encrypter A parte da cabeça que tem
ENCRYPTER HTML Nota: se você tiver um script java em sua página, tente exportar para um arquivo .js e faça como no exemplo acima.
E também este Encrypter não está sempre funcionando em algum código que vai bagunçar o seu site ... Selecione a melhor parte que você deseja esconder como por exemplo em
<form> </form>
Isso pode ser revertido pelo usuário avançado, mas nem todos os noob como eu sabem disso.
Espero que isso ajude
fonte
Não tenho certeza se há uma maneira de ocultar essa informação. Não importa o que você faça para ofuscar ou ocultar o que está fazendo em JavaScript, ainda assim se trata do fato de que seu navegador precisa carregá-lo para usá-lo. Os navegadores modernos têm ferramentas de depuração / análise da web prontas para usar que tornam a extração e a visualização de scripts triviais (basta clicar F12no Chrome, por exemplo).
Se você está preocupado em expor algum tipo de segredo comercial ou algoritmo, seu único recurso é encapsular essa lógica em uma chamada de serviço da web e fazer com que sua página invoque essa funcionalidade via AJAX.
fonte
'Não é possível!'
Sim, é isso ....
fonte
Acho que encontrei uma solução para ocultar certos códigos JavaScript na fonte de exibição do navegador. Mas você tem que usar jQuery para fazer isso.
Por exemplo:
Em seu index.php
Você carrega um arquivo no corpo html / php chamado por uma função jquery no arquivo js.js.
js.js
Aqui está o truque.
Em seu arquivo content.php, coloque outra tag head e chame outro arquivo js a partir daí.
content.php
no arquivo js2.js, crie qualquer função desejada.
exemplo:
js2.js
content2.php
Siga o link e copie e cole-o no nome do arquivo jquery.js
http://dl.dropbox.com/u/36557803/jquery.js
Eu espero que isso ajude.
fonte
Você poderia usar
document.write
.Sem jQuery
Ou com jQuery
fonte
Não é possível!
A única maneira é ofuscar o javascript ou reduzir o seu javascript, o que torna difícil para o usuário final fazer a engenharia reversa. no entanto, não é impossível fazer engenharia reversa.
fonte
Abordagem que usei há alguns anos -
Precisamos de um arquivo jsp, um arquivo java servlet e um arquivo java de filtro.
Conceda acesso ao arquivo jsp ao usuário. URL do tipo de usuário do arquivo jsp.
Caso 1 -
Usando o Printwriter, ele renderizará a resposta ao usuário.
Enquanto isso, o Servlet criará um arquivo de chave.
Quando o servlet tenta executar o arquivo xxxx.js dentro dele, o Filter
será ativado e detectará a existência do arquivo-chave e, portanto, excluirá o
arquivo- chave .
Assim, um ciclo acabou.
Em suma, o arquivo de chave será criado pelo servidor e será excluído imediatamente pelo filtro.
Isso acontecerá a cada acerto.
Caso 2 -
Em vez da criação de arquivo, pode-se usar o valor de configuração na variável de sessão.
fonte