Ir para conteúdo
Fórum Script Brasil
  • 0

Proteção de Arquivo .js


portugues

Pergunta

Pessoal, estou com uma dúvida... Tenho um arquivo .js, e uso ele no BLOGGER. Como todos sabem, as funções do blogger são bem limitadas, e eu também não tenho muito conhecimento em relação a JavaScript.

É o seguinte:

O meu arquivo Javascript, tem uma função no blog, por exemplo, é um JavaScript para banners rotativos.

Quando alguém digita o endereço do arquivo, por exemplo: www.enderecodoarquivo.com/essearquivo.js , o arquivo é aberto, e qualquer pessoa pode copiá-lo.

O que eu quero, é exatamente evitar a cópia desse arquivo.

Evitar a cópia por meio do meu próprio html não adianta, pois eu passo esse arquivo para outras pessoas. O que eu quero é que quando alguém tenta acessar o meu arquivo .js, não consiga, por exemplo, que o arquivo solicite alguma senha, enfim, qualquer coisa que evite a abertura do arquivo.

Existe alguma frma de fazer isso?

EDIT---

Acabei de ler aqui no ScriptBrasil... não é possível esconder 100% um JavaScript... Mas pessoa, é urgente, como posso QUASE esconder um JavaScript, tipo, evitar que 99% das pessoas copiem ele? Me ajudem!!! valeu galera, estou no aguardo!

Quem souber alguma forma de criptografá-lo de modo que poucos consigam copiar, podem postar, pois me interessa também.

valeu pessoal!

Editado por portugues
Link para o comentário
Compartilhar em outros sites

15 respostass a esta questão

Posts Recomendados

  • 0

Que eu saiba não tem uma forma muito eficaz de se conseguir isso. Você pode tentar usar o encode ou decode, ou então usar algum algoritmo para criptografia, mas deixaria seu js lento.

Um simples script de troca de banner...é besteira tentar esconder isso... O js é sempre puxado pro navegador, todos podem ver o js, acho besteira tentar esconder coisa assim, pode ter certeza que já existem sistemas muito mais avançados que o que você tem disponíveis gratuitamente com licença pública na internet.

Link para o comentário
Compartilhar em outros sites

  • 0
Que eu saiba não tem uma forma muito eficaz de se conseguir isso. Você pode tentar usar o encode ou decode, ou então usar algum algoritmo para criptografia, mas deixaria seu js lento.

Um simples script de troca de banner...é besteira tentar esconder isso... O js é sempre puxado pro navegador, todos podem ver o js, acho besteira tentar esconder coisa assim, pode ter certeza que já existem sistemas muito mais avançados que o que você tem disponíveis gratuitamente com licença pública na internet.

Não é só ou banner rotativo, esse foi um exemplo... É algo mais complexo, que a principal função de esconder o JS é evitar que copiem o JS, desmerecendo o real autor do código. Ninguém que copia um código ainda deixa os créditos do real autor (infelizmente). Não sou eu o autor, meus conhecimentos não são longos. Eu copiei o código, mas não desmereci o autor, mas muita gente fará isso (alguns já até fizeram).

Espero alguma solução, ou dica.

Link para o comentário
Compartilhar em outros sites

  • 0
Não é só ou banner rotativo, esse foi um exemplo... É algo mais complexo, que a principal função de esconder o JS é evitar que copiem o JS, desmerecendo o real autor do código. Ninguém que copia um código ainda deixa os créditos do real autor (infelizmente). Não sou eu o autor, meus conhecimentos não são longos. Eu copiei o código, mas não desmereci o autor, mas muita gente fará isso (alguns já até fizeram).

Beleza. Bom, eu não conheço nenhuma forma EFICAZ de se fazer uma proteção dessa em Js, portanto terá que procurar um pouco no google para uma solução que te satisfaça mais.

De qualquer forma, eu acho besteira tentar arrumar problemas já que arranjou uma solução pronta. Se o autor deixou você usar, deixou seus dados nos comentários então você pode com certeza utilizar o código e deixar os créditos lá.

Você só pode responder pelos seus atos, se outros copiarão o código e não respeitarão os direitos autorais, aí já é outra história.

Link para o comentário
Compartilhar em outros sites

  • 0

Cara, não existe nada perfeito...Sempre vai ser possível copiar seu código, o máximo que pode tentar fazer é dificultar (ou recorrer a métodos muito mais avançados, que mesmo assim não seria a solução perfeita)

Tente encriptar seu código JavaScript...Isso torna mais difícil a leitura, mas como consequência traz prejuízos no desempenho...

Como você está utilizando um blogger, se torna mais difícil ainda...

Acho bobagem tentar esconder o JavaScript !

Fiz um código para essa finalidade só por diversão, mas não o utilizei (não existe porquê esconder um JavaScript)

Certo dia, quando não tinha nada para fazer, elaborei um script que protegia o código JavaScript...Tornava o servidor um pouco mais lento, mas funcionava...

Eu criei uma página em ASP, que criava uma sessão com a informação com o valor "verdadeiro".Essa página estava linkada a um arquivo ".asp" (que funcionava como um "js")

Nesse arquivo, verificava o da sessão.Se fosse "verdadeiro", mostrava o código JavaScript.Caso contrário, mostrava um código HTML informando que é proibido ver o código-fonte do arquivo informado...

Fiz isso apenas porque não tinha nada para fazer e nem cheguei a utilizar...Afinal, não vejo o motivo para esconder um código-fonte

Qualquer coisa, posta aí !

Editado por Jonathan Queiroz
Link para o comentário
Compartilhar em outros sites

  • 0

Sim, exatamente.. o problema, é que eu tenho vários visitantes no meu site que são de outros sites e estão copiando o JS. Vsto que o código está lá para qualquer um pegar, todos pegam normalmente. O grande problema, é que eu peguei esse código de um amigo meu, e está causando a sensação de que estou passando o código para todos, por isso que nem usei o verdadeiro código como exemplo aqui no fórum. Como você já demonstrou aqui, existe formas de dificultar a cópia do código, por favor, você poderia me indicar qual você usaria na minha situação, ou seja, qual você acha mais segura? No meu caso, por exemplo, o simples fato do código estar criptografado já teria evitado que eu copiasse o código. ;)

No aguardo...

Jonathan, eu não tinha visto sua resposta... O exemplo que você deu funcionaria normalmente no blogger? Ficaria muuito lento ou pouca coisa? Você poderia me ajudar a desenvolver esse "protetor" ?

No aguardo...

Link para o comentário
Compartilhar em outros sites

  • 0

O que eu fiz necessitaria de uma linguagem dinâmica, de lado servidor...

Como você está utilizando um blogger, se torna mais difícil ainda...

Nenhum blogger (que eu conheça) dá suporte a esse tipo de linguagem...

A única forma de se fazer isso seria com você criando todo o seu site e hospedar em um servidor que dê suporte

Além disso, não é bom abusar dessas táticas, pois torna a execução da página mais lenta, e não faz sentido tentar esconder o código...

Um JavaScript (na maioria das vezes) é criado por alguém que entende da linguagem e qualquer outra pessoa que também entenda da linguagem conseguirá fazer o mesmo efeito.Portanto, não há motivo para esconder seu código...

Se alguém realmente estiver interessado em fazer um efeito igual, basta ter conhecimento e tentar fazer !

Sites importantes não escondem o código JavaScript...Por que isso ?

Se alguém tentar copiar o JavaScript, não tem problema... Se tem alguma coisa em JavaScript, é porque não tem importância.Tudo o que tem importância (e também parte do que não têm) é executado de lado servidor, como trabalho com banco de dados, etc.

Espero ajudar, e qualquer coisa posta aí !

Link para o comentário
Compartilhar em outros sites

  • 0
o máximo que pode tentar fazer é dificultar (ou recorrer a métodos muito mais avançados

O que eu fiz necessitaria de uma linguagem dinâmica, de lado servidor...

Nenhum blogger (que eu conheça) dá suporte a esse tipo de linguagem...

A única forma de se fazer isso seria com você criando todo o seu site e hospedar em um servidor que dê suporte

Além disso, não é bom abusar dessas táticas, pois torna a execução da página mais lenta, e não faz sentido tentar esconder o código...

Um JavaScript (na maioria das vezes) é criado por alguém que entende da linguagem e qualquer outra pessoa que também entenda da linguagem conseguirá fazer o mesmo efeito.Portanto, não há motivo para esconder seu código...

Se alguém realmente estiver interessado em fazer um efeito igual, basta ter conhecimento e tentar fazer !

Sites importantes não escondem o código JavaScript...Por que isso ?

Se alguém tentar copiar o JavaScript, não tem problema... Se tem alguma coisa em JavaScript, é porque não tem importância.Tudo o que tem importância (e também parte do que não têm) é executado de lado servidor, como trabalho com banco de dados, etc.

Espero ajudar, e qualquer coisa posta aí !

O problema, é que eu realmente necessito esconder esse JS, pois no meu caso tem importânca... Eu não tenho condições (nem conhecimento) suficientes para desenvolver um site em um servidor. Com certeza, seria o fim de meus problemas, mas infelizmente não está no meu alcance. Ainda estou aguardando alguma ajuda, alguma dica.

Se alguém puder me apresentar alguma forma de proteger (em termos) o meu JS, ou uma criptografia que seja um pouco seguro, por favor postem aqui!

valeu!

Quais seriam esses métodos mais avançados ?

Link para o comentário
Compartilhar em outros sites

  • 0

Respondendo às perguntas:

Quais seriam esses métodos mais avançados ?
Seria o que lhe mostrei acima, trabalhando com sessões em linguagem dinâmica (no meu caso foi ASP)
Se alguém puder me apresentar alguma forma de proteger (em termos) o meu JS, ou uma criptografia que seja um pouco seguro, por favor postem aqui!

Dá uma pesquisada na Google por "criptografia de arquivo javascript"... Você deve achar alguma coisa...

Qualquer coisa é só postar !

Mas, por curiosidade, seu JavaScript serve pra quê ?

Se for algo simples, não é necessário tentar esconder o código (na verdade, mesmo que fosse algo mais complicado, eu deixaria o código aberto, não me preocupo com isso)

Link para o comentário
Compartilhar em outros sites

  • 0

Não entendi muito bem o que você falou:

Opa, desculpa a burrice pessoal... Eu estava procurando sovbre a criptografia... o que exatamente eu devo criptografar, é o código JS que está na página (exemplo: www.codigo.com.br/codigojs.js) ou o interior do JS, o seu real conteúdo?

Você deve criptografar o código de JavaScript que está dentro do arquivo ".js"

Qualquer coisa, posta aí !

Link para o comentário
Compartilhar em outros sites

  • 0
Não entendi muito bem o que você falou:
Opa, desculpa a burrice pessoal... Eu estava procurando sovbre a criptografia... o que exatamente eu devo criptografar, é o código JS que está na página (exemplo: www.codigo.com.br/codigojs.js) ou o interior do JS, o seu real conteúdo?

Você deve criptografar o código de JavaScript que está dentro do arquivo ".js"

Qualquer coisa, posta aí !

Eu tentei fazer isso, foi normal, mas quando eu coloco o novo js no html, sua função não é realizada quando abre o site, fiz algo errado?

Link para o comentário
Compartilhar em outros sites

  • 0

Consegui falar com ele pelo MSN e resolvemos que a melhor solução seria criptografar o código...

Eu criei um script de JavaScript para a criptografia...

Postarei ele aqui para que caso alguém precise possa utilizar

<html>
<head>
<style type="text/css">
#descriptografado {background-color: darkgray ; border-style: inset ; height: 200 ; width: 400 ; border-style: inset}
.msg_descriptografado {color: red ; font-weight: bold}
#criptografado {background-color: darkgray ; height: 400 ; width: 800}
body {background-color: black ; color: white}
</style>
<script type="text/javascript">
function Cript() {
numero_vezes_criptografar = parseInt(document.form.numero_vezes.value)
x = document.getElementById("criptografado")
y = document.form.descriptografado.value
if (numero_vezes_criptografar<1) {
alert("O número de vezes que o código será criptografado deve ser maior que 1")
}else if (isNaN(numero_vezes_criptografar) || numero_vezes_criptografar=="") {
alert("Digite um número válido !!")
}else if (y=="\n" || y=="" || y==" ") {
alert("Digite um código para criptografar !")
}else{
texto_antigo = y
texto_novo = texto_antigo
valor_un1 = ""
valor_un2 = ""

for (i=1;i<=numero_vezes_criptografar;i++) {
texto_novo = escape(texto_novo)
valor_un1 += "unescape("
valor_un2 += ")"
}
x.innerHTML = "valor='" + texto_novo + "';document.write('<'+'script>'+" + valor_un1 + "valor" + valor_un2 + "+" + "'&lt;/s'+'cript&gt;')"
}
}
</script>
</head>
<body>
<form action="" method="post" name="form">
Cole seu código <span class="msg_descriptografado">descriptofrafado</span> aqui:
<br><br>
<textarea id="descriptografado" name="descriptografado"></textarea>
<br><br>
Você pode criptografar automaticamente o mesmo código várias vezes, reforçando a segurança<br>
Número de vezes da criptografia:<input type="text" id="numero_vezes" name="numero_vezes" value="1" size="1">
<input type="button" value="Criptografar !" onclick="Cript()">
<br><br>
Código Criptografado:<br>
<textarea id="criptografado"></textarea>
</form>
<br>
Este criptografador de JavaScript foi criado por Jonathan Queiroz !<br>Todos os direitos reservados !
</body>
</html>

O script é de autoria minha e estou disponibilizando para quem quiser utilizar.

Ele foi testado, mas qualquer problema é só postarem !

Link para o comentário
Compartilhar em outros sites

  • 0

Pessoal, se a criptografia fosse assim tão fácil, não precisaríamos de tanta matemática para desenvolver um algoritmo de criptografia. Sistemas como RSA não seriam desenvolvidos e muitos matemáticos teriam quebrado a cabeça à toa.

Desde que o Javascript é cliente, você sempre chamará ele e este aparecerá no código fonte. Se você usar algo como :

codigo = "affehfaowefhaoefhaoihawoeifhaweoih"
Descript(codigo)
Você precisou usar uma função no lado cliente para decriptografar, logo, se alguém quiser executar sua aplicação , basta copiar todo o código e usar a mesma função Descript. Português, se deseja que a lógica do seu código fique escondida, você pode usar várias api's que existem hj para minificar o javascript. Procure por javascript minified ou compactação de javascript no google, seu código vai ficar impossível de se compreender. Jquery usa isso, mas para diminuir o tamanho do arquivo. Você pode usar essa técnica para dificultar a visibilidade do seu algoritmo. A propósito, para quebrar essa "criptografia" :
var cript = 'function%2525252520edu%2525252520%2525252528%2525252529%2525252520%252525257B'+
'%252525250Avar%2525252520texto%2525252520%252525253D%2525252520%2525252522Extremamente%'+
'2525252520f%25252525E1cil%2525252520quebrar%2525252520um%2525252520c%25252525F3digo%25252525'+
'20como%2525252520este%2525252522%252525250A%252525257D'

var n =0
while(n<6){        
        cript = unescape(cript)        
        document.write( cript +'<br />' )        
        n++
}

Essa técnica que o Jonathan usou, consiste em apenas escapar caracteres especiais, se alguém conhecer um pouquinho de ascii já era. A descoberta desse código consiste em repetir n vezes até conseguir um texto legível. Para uma criptografia dessa ser eficiente teria que ser executada em um número muito muito grande para que a pessoa que fosse descobrir precisasse de anos para descriptografar. Lógico, para um tempo tão grande, seu site também demoraria anos para abrir.

Abraço.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...