Como eu escondo o código javascript em uma página da web?

É 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 View Source do navegador?

Eu sei que é possível ofuscar o código, mas eu preferiria que ele estivesse oculto do recurso de fonte de visualização.

    Não tenho certeza de que alguém realmente tenha respondido diretamente à sua pergunta, que é o código que está sendo visualizado no comando View Source do navegador.

    Como já foi dito, não há como proteger o javascript pretendido para ser executado em um navegador de um determinado visualizador. Se o navegador puder executá-lo, qualquer pessoa determinada poderá ver / executá-lo também.

    Mas, se você colocar o seu javascript em um arquivo javascript externo incluído com:

    tags, então o código javascript não será imediatamente visível com o comando View Source – somente a própria tag do script será visível dessa maneira. Isso não significa que alguém não pode simplesmente carregar esse arquivo javascript externo para vê-lo, mas você perguntou como mantê-lo fora do comando View Source do navegador e isso irá fazê-lo.

    Se você quisesse realmente trabalhar mais para visualizar a fonte, faria o seguinte:

    1. Coloque-o em um arquivo .js externo.
    2. Ofusque o arquivo para que a maioria dos nomes de variables ​​nativas seja substituída por versões curtas, de modo que todo o espaço em branco desnecessário seja removido, para que não possa ser lido sem processamento adicional, etc …
    3. Inclua dinamicamente o arquivo .js adicionando programaticamente tags de script (como o Google Analytics). Isso tornará ainda mais difícil obter o código-fonte do comando View Source, já que não haverá um link fácil para clicar nele.
    4. Coloque o máximo de lógica interessante que você deseja proteger no servidor que você recupera por meio de chamadas ajax em vez de processar localmente.

    Com tudo isso dito, acho que você deve se concentrar no desempenho, na confiabilidade e em tornar seu aplicativo excelente. Se você absolutamente tem que proteger algum algoritmo, coloque-o no servidor, mas fora isso, competir em ser o melhor em você, não por ter segredos. Isso é basicamente como o sucesso funciona na web de qualquer maneira.

    Não, não é possível.

    Se você não der para o navegador, o navegador não o terá.

    Se você fizer isso, então (ou uma referência facilmente seguida) faz parte da fonte.

    Use Html Encrypter A parte da cabeça que tem

       copy and paste it to HTML Encrypter and the Result will goes like this and paste it the location where you cut the above sample  

    ENCRYPTER HTML Nota: se você tiver um script java em sua página, tente exportar para o arquivo .js e torná-lo como no exemplo acima.

    E também este Encrypter não está sempre trabalhando em algum código que fará com que o seu site fique bagunçado … Selecione a melhor parte que você deseja esconder como, por exemplo, em

    Isso pode ser reverso pelo usuário avançado, mas nem todos noob como eu sabe disso.

    Espero que isso ajude

    Minha solução é inspirada no último comentário. Esse é o código do invisible.html

         

    O código claro de invisible_debut.js é:

     $(document).ready(function () { var ga = document.createElement("script"); //ga is to remember Google Analytics ;-) ga.type = 'text/javascript'; ga.src = 'invisible.js'; ga.id = 'invisible'; document.body.appendChild(ga); $('#invisible').remove();}); 

    Observe que no final estou removendo o script criado. invisible.js é:

     $(document).ready(function(){ alert('try to find in the source the js script which did this alert!'); document.write('It disappeared, my dear!');}); 

    invisible.js não aparece no console, porque foi removido e nunca no código-fonte porque criado por javascript.

    Sobre o invisible_debut.js, ofusquei-o, o que significa que é muito complicado encontrar o url do invisible.js. Não é perfeito, mas é difícil para um hacker normal.

    Não tenho certeza se há uma maneira de esconder essa informação. Não importa o que você faz para ofuscar ou ocultar o que você está fazendo em JavaScript, ainda se resume ao fato de que seu navegador precisa carregá-lo para usá-lo. Os navegadores modernos têm ferramentas de análise / debugging da web prontas para uso, que tornam a extração e a visualização de scripts triviais (basta pressionar F12 no Chrome, por exemplo).

    Se você está preocupado em expor algum tipo de segredo comercial ou algoritmo, então seu único recurso é encapsular essa lógica em uma chamada de serviço web e fazer com que sua página invoque essa funcionalidade via AJAX.

    ‘Não é possível!’

    Sim, é isso ….

     //------------------------------ function unloadJS(scriptName) { var head = document.getElementsByTagName('head').item(0); var js = document.getElementById(scriptName); js.parentNode.removeChild(js); } //---------------------- function unloadAllJS() { var jsArray = new Array(); jsArray = document.getElementsByTagName('script'); for (i = 0; i < jsArray.length; i++){ if (jsArray[i].id){ unloadJS(jsArray[i].id) }else{ jsArray[i].parentNode.removeChild(jsArray[i]); } } } 

    Você poderia usar document.write .

    Sem jQuery

     < !DOCTYPE html>     

    Ou com jQuery

     $(function () { document.write("< !doctype html>

    You cannot find this in the page source. (Your page needs to be in this document.write argument.)

    ") });

    Acho que encontrei uma solução para ocultar determinados códigos JavaScript na fonte de visualização do navegador. Mas você tem que usar o jQuery para fazer isso.

    Por exemplo:

    No seu index.php

          Click me. 

    Você carrega um arquivo no corpo html / php chamado por uma function jquery no arquivo js.js.

    js.js

     function loaddiv() {$('#content').load('content.php');} 

    Aqui está o truque.

    Em seu arquivo content.php coloque outra tag head e chame outro arquivo js de lá.

    content.php

        Click me too. 

    no arquivo js2.js, crie qualquer function desejada.

    exemplo:

    js2.js

     function loaddiv2() {$('#content2').load('content2.php');} 

    content2.php

     < ?php echo "Test 2"; ?> 

    Por favor, siga link e copie e cole no nome do arquivo de jquery.js

    http://dl.dropbox.com/u/36557803/jquery.js

    Eu espero que isso ajude.

    Não é possivel!

    A única maneira é ofuscar javascript ou minify seu javascript, o que torna difícil para o usuário final fazer engenharia reversa. no entanto, não é impossível fazer engenharia reversa.