Criando protetor para js com php

Esse área é só para dicas de segurança de códigos fonte, pastas, etc...

Moderador: web

responder a dúvida

Criando protetor para js com php

Mensagem por radiomeadd Offline » Seg Out 13, 2008 7:14 pm


Olá pessoal do Codigos na Web.

Vamos fazer um esperimento?
que tal agente fazer um protetor de js?

Vamos la.

Ex tenho um arquivo chamado swfobject.js
Código: Selecionar todos
if(typeof deconcept=="undefined"){var deconcept=new Object(); }...


Agora vamos Protege ele para ninguem sabe nossa font.
Vamos criar o swfobject.js.php

Código: Selecionar todos
<?
session_start(); // inicia a rotina de sessoes
header("Content-Type: text/javascript",true); // define que este arquivo vai ter comandos de text/javascript
if($_SESSION['vareavel_da_session'] != 'codico_da_session') // se a sessao com o nome da chave nao tiver o valor certo
{
echo "document.write('Este script não esta autorizado para abertura');"; // escreve que o arquivo nao esta autorizado
exit; // interrompe a execução do arquivo
}
$_SESSION['vareavel_da_session'] = ''; // sempre que o arquivo passa pela execução, limpa a sessao de chave após a verificação
unset($_SESSION['vareavel_da_session']); // após definir valor nulo para a sessao de chave, finaliza ela destrindo

// após a verificação em php, procede com a execução do javascript
?>
if(typeof deconcept=="undefined"){var deconcept=new Object();...

Pronto ja esta feito nossa proteção no arquivo js.

Vamos criar um index para testa ele?
Entao vamos la...

Código: Selecionar todos
<?
session_start(); // inicia a rotina de sessoes antes de começar o html
?>
<?
$_SESSION['vareavel_da_session'] = 'codico_da_session'; // define a chave com o valor autorizado
// em seguida abre o arquivo em js
?>
<head>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>:: Rádio Flogão - Seu portal de Músicas, Eventos, Filmes, Jogos on-line, Dicas de Filmes, Baladas, C</title>

<style type="text/css">
body {
   background-color: #333333;
   margin-left: 0px;
   margin-top: 0px;
   margin-right: 0px;
   margin-bottom: 0px;
   font-family: tahoma,verdana,arial;
   font-size: 11;
   color: #000000;
}

body,td,th {
   margin-left: 0px;
   margin-top: 0px;
   margin-right: 0px;
   margin-bottom: 0px;
   font-family: tahoma,verdana,arial;
   font-size: 11;
   color: #000000;
}

.branco {color: #FFFFFF}

.pequeno {
   font-size: 8px;
   color: #999999;
}

.titulos {
   font-size: 13;
   color:  #66CC33;
}

a:link, a:active, a:visited {
color: #000000;
text-decoration: none;
}

a:hover {
color:  #66CC33;
text-decoration: underline;
}

.input {
   height: 14;
   border: 1px solid #333333;
   font-family: tahoma,verdana,arial;
   font-size: 11;
   color: #000000;
}
</style>
</HEAD>

<body>
<script type="text/javascript" src="swfobject.js.php"></script>
<table width="350" border="0" cellspacing="0" cellpadding="0">
    <tr>
    <td>

<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
      <td width="368"><div class="postcontent">   
               <p id="player1" style="display:none"><a href="http://www.macromedia.com/go/getflashplayer">Get the latest Flash Player</a> to see this player.</p>
<noscript><p>[Javascript required to view Flash movie, please turn it on and refresh this page]</p></noscript>

<script type="text/javascript">
   document.getElementById("player1").style.display = "";
   
   var s1 = new SWFObject("flvplayer.swf","player1","425","344","7");
   s1.addParam("wmode","transparent");
   s1.addParam("allowscriptaccess","always");
   s1.addParam("allowfullscreen","true");
   s1.addVariable("height","344");
   s1.addVariable("width","425");
   s1.addVariable("file","http://www.youtube.com/watch?v=g_724uhehps");
   s1.addVariable("backcolor","0xDF0E21");
   s1.addVariable("frontcolor","0xffffff");
   s1.addVariable("lightcolor","0xffffff");
   s1.addVariable("logo","http://www.radioflogao.com.br/logo1.png");
   s1.addVariable("link","http://www.youtube.com/watch?v=g_724uhehps");
   s1.addVariable("showstop","true");
   s1.addVariable("autostart","true");
   s1.write("player1");
</script>
            </div></td>
  </tr>
            </table></td>
  </tr>
</table>


pronto ja esta protegito o arquivo js usando o php...

Em breve vou esta colocando aqui uma Galeria de videos do youtube com o player diferente do deles.

qualquer coisa veja no site www.radioflogao.com.br clikando em Galerias de Videos.
:smile

... é o script a ser protegido.



detalhes...

Web site:
www.webradiogratis.com

Cadastro:
http://auth.webradiogratis.com/index.php

Comunidade Codigos na Web
http://www.orkut.com.br/Main#Community?cmm=94905489

Acessem a comunidade do codigos na web no orkut...

Avatar do usuário
radiomeadd
MEMBRO
MEMBRO
Mensagens: 49
Registrado em: Qui Ago 28, 2008 10:56 am
Localização: goias / goiania / brasil

Criando protetor para js com php

Mensagem por web Offline » Seg Out 13, 2008 7:31 pm

Rodei aqui, funciona, só o flash que não carregou.

Ai dei uma simplificada no código só para eu enteder, criei 2 arquivos:

teste.php que é o js a ser protegido

Código: Selecionar todos
<?php
session_start(); // inicia a rotina de sessoes
header("Content-Type: text/javascript",true); // define que este arquivo vai ter comandos de text/javascript
if($_SESSION['vareavel_da_session'] != 'codico_da_session') // se a sessao com o nome da chave nao tiver o valor certo
{
echo "document.write('Este script não esta autorizado para abertura');"; // escreve que o arquivo nao esta autorizado
exit; // interrompe a execução do arquivo
}
$_SESSION['vareavel_da_session'] = ''; // sempre que o arquivo passa pela execução, limpa a sessao de chave após a verificação
unset($_SESSION['vareavel_da_session']); // após definir valor nulo para a sessao de chave, finaliza ela destrindo

// após a verificação em php, procede com a execução do javascript
?>
document.write('abc');

teste2.php que é o arquivo que eu carrego
Código: Selecionar todos
<?php
session_start(); // inicia a rotina de sessoes antes de começar o html

$_SESSION['vareavel_da_session'] = 'codico_da_session'; // define a chave com o valor autorizado
// em seguida abre o arquivo em js
?>
<script type="text/javascript" src="teste.php"></script>

Quando alguém vai copiar, claro vai no código fonte ver o script, ai vê o caminho para teste.php, e vai tentar carregar o teste.php pelo navegador, o que vai retornar o erro, impedindo a cópia.

Muito bom o script, vai ajudar muita gente :peaceout

detalhes...

Gostou do que encontrou? Divulgue, indique, participe, agradeça pelas respostas.

Faço scripts personalizados ou reparos em scripts. Orçamento MSN codigosnaweb1 [@] gmail [.] com

Avatar do usuário
web
ADMIN
ADMIN
Mensagens: 12425
Registrado em: Sáb Jan 20, 2007 6:08 pm
Localização: RJ / RJ / Brasil

Criando protetor para js com php

Mensagem por jamilservicos Offline » Qui Abr 16, 2009 11:47 am

muito bom mesmo! isso combinado com outras tecnicas como paginas via include, bloqueio de codigo fonte e ajax torna bem dificil a copia do codigo!
mas notei algo estranho aqui:

echo "document.write('Este script não esta autorizado para abertura');";

como é um echo ele imprimi toda a linha "document.write('Este script não esta autorizado para abertura');"

então o certo seria apenas...

echo "Este script não esta autorizado para abertura";

????????????????

detalhes...


jamilservicos
MEMBRO
MEMBRO
Mensagens: 11
Registrado em: Dom Jan 20, 2008 5:45 pm
Localização: para/belem/brasil

Criando protetor para js com php

Mensagem por web Offline » Qui Abr 16, 2009 11:58 am

É na forma js mesmo, porque quem vai carregar a parte protegida é o js, no exemplo que postei, o teste2.php

detalhes...

Gostou do que encontrou? Divulgue, indique, participe, agradeça pelas respostas.

Faço scripts personalizados ou reparos em scripts. Orçamento MSN codigosnaweb1 [@] gmail [.] com

Avatar do usuário
web
ADMIN
ADMIN
Mensagens: 12425
Registrado em: Sáb Jan 20, 2007 6:08 pm
Localização: RJ / RJ / Brasil

Criando protetor para js com php

Mensagem por jamilservicos Offline » Qui Abr 16, 2009 1:32 pm

outra coisa... tem como evitar esse aviso de permissão no ie?

"deseja permitir que esta pagina web acesse sua area de transferencia?"

ops! pergunta errada! HAEUhuea

a pergunta é como evitar que no internet ele apareça como download do documento!
porq não aparece como o firefox que amostra a mensagem de erro?

detalhes...


jamilservicos
MEMBRO
MEMBRO
Mensagens: 11
Registrado em: Dom Jan 20, 2008 5:45 pm
Localização: para/belem/brasil

Criando protetor para js com php

Mensagem por jamilservicos Offline » Qui Abr 16, 2009 3:10 pm

deixa jah resolvi!

o problema era o:

header("Content-Type: text/javascript",true);

ele tem q ficar antes do "?>"

se ficar antes da liberação do:

if($_SESSION['vareavel_da_session'] != 'codico_da_session') // se a sessao com o nome da chave nao tiver o valor certo
{
echo "document.write('Este script não esta autorizado para abertura');"; // escreve que o arquivo nao esta autorizado
exit; // interrompe a execução do arquivo
}
$_SESSION['vareavel_da_session'] = ''; // sempre que o arquivo passa pela execução, limpa a sessao de chave após a verificação
unset($_SESSION['vareavel_da_session']); // após definir valor nulo para a sessao de chave, finaliza ela destrindo

o ie tenta fazer o download do arquivo.. jah colocando depois depois inves da mensagem por um:
header("location:/");

e a pessoa sera enviada devolta ao site principal automaticamente!

detalhes...


jamilservicos
MEMBRO
MEMBRO
Mensagens: 11
Registrado em: Dom Jan 20, 2008 5:45 pm
Localização: para/belem/brasil

Criando protetor para js com php

Mensagem por web Offline » Qui Abr 16, 2009 8:01 pm

Boa

detalhes...

Gostou do que encontrou? Divulgue, indique, participe, agradeça pelas respostas.

Faço scripts personalizados ou reparos em scripts. Orçamento MSN codigosnaweb1 [@] gmail [.] com

Avatar do usuário
web
ADMIN
ADMIN
Mensagens: 12425
Registrado em: Sáb Jan 20, 2007 6:08 pm
Localização: RJ / RJ / Brasil

Criando protetor para js com php

Mensagem por brunomiova Offline » Dom Mai 03, 2009 2:02 pm

Muito boa esta dica! Mas tem como usar cookies? Porque acho que da conflito com outra seção (se houver).. :]

detalhes...


brunomiova
MEMBRO
MEMBRO
Mensagens: 39
Registrado em: Qua Ago 20, 2008 12:50 pm
Localização: Alagoas/Arapiraca/Brasil

Criando protetor para js com php

Mensagem por web Offline » Dom Mai 03, 2009 4:09 pm

Vamos a versão com cookies.

Crie um arquivo chamado teste.php, que conterá a proteção e seu código js
Código: Selecionar todos
<?php
header ("Last-Modified: " . gmdate ("D, d M Y H:i:s") . " GMT");
Header("Cache-control: private, no-cache");
Header("Expires: Mon, 26 Jun 1997 05:00:00 GMT");
Header("Pragma: no-cache");
header("Cache: no-cache");

$tempo_cookie = "3600";
setcookie("nome_do_cookie", "erro!", time()+($tempo_cookie));

if($_COOKIE["nome_do_cookie"]!="valor_do_cookie") {
echo "document.write('Este script não esta autorizado para abertura');";
exit;
}
header("Content-Type: text/javascript",true);
?>
document.write('abc');

Agora o arquivo que vai simular a chamada do teste.php, esse arquivo que faz a chamada chama-se teste2.php

Código: Selecionar todos
<?php
$tempo_cookie = "3600";
setcookie("nome_do_cookie", "valor_do_cookie", time()+($tempo_cookie));
?>

<html>
<head>
<meta http-equiv="expires" content="0">
<script type="text/javascript" src="teste.php"></script>
</head>

<body>...</body>
</html>

Para sucesso do script no IE e FF, siga o modelo acima.

detalhes...

Gostou do que encontrou? Divulgue, indique, participe, agradeça pelas respostas.

Faço scripts personalizados ou reparos em scripts. Orçamento MSN codigosnaweb1 [@] gmail [.] com

Avatar do usuário
web
ADMIN
ADMIN
Mensagens: 12425
Registrado em: Sáb Jan 20, 2007 6:08 pm
Localização: RJ / RJ / Brasil

Criando protetor para js com php

Mensagem por brunomiova Offline » Seg Mai 04, 2009 9:39 am

Poxa não sei o q há. Pq quando olho o script ele sempre mostra. Acho que é pq o cookie sempre existe..

detalhes...


brunomiova
MEMBRO
MEMBRO
Mensagens: 39
Registrado em: Qua Ago 20, 2008 12:50 pm
Localização: Alagoas/Arapiraca/Brasil

Criando protetor para js com php

Mensagem por web Offline » Seg Mai 04, 2009 2:33 pm

Meu navegador está configurado como default, IE e FF, e quando acesso teste.php, que é onde está o script mostra a mensagem que não pode ser exibido.

detalhes...

Gostou do que encontrou? Divulgue, indique, participe, agradeça pelas respostas.

Faço scripts personalizados ou reparos em scripts. Orçamento MSN codigosnaweb1 [@] gmail [.] com

Avatar do usuário
web
ADMIN
ADMIN
Mensagens: 12425
Registrado em: Sáb Jan 20, 2007 6:08 pm
Localização: RJ / RJ / Brasil

Criando protetor para js com php

Mensagem por jamilservicos Offline » Sáb Jun 20, 2009 6:57 pm

lembrando que essa proteção só funciona para acesso direto ao arquivo de javascript, mas ele pode ser visto por completo após o site for carregado!

detalhes...


jamilservicos
MEMBRO
MEMBRO
Mensagens: 11
Registrado em: Dom Jan 20, 2008 5:45 pm
Localização: para/belem/brasil

Criando protetor para js com php

Mensagem por web Offline » Sáb Jun 20, 2009 7:12 pm

Como assim?

detalhes...

Gostou do que encontrou? Divulgue, indique, participe, agradeça pelas respostas.

Faço scripts personalizados ou reparos em scripts. Orçamento MSN codigosnaweb1 [@] gmail [.] com

Avatar do usuário
web
ADMIN
ADMIN
Mensagens: 12425
Registrado em: Sáb Jan 20, 2007 6:08 pm
Localização: RJ / RJ / Brasil

Criando protetor para js com php

Mensagem por lailton Offline » Ter Jun 15, 2010 8:46 pm

Legal 1 pergunta

e se o user acessa a pagina, apos a mesma ser carregada ele for ao chace do windows todos navegadors
armazenam os arquivos la, e editar vera o javascript normal.

ou estou errado ? alguma solucao para isso ?

vlw.

detalhes...


lailton
NOVO MEMBRO
NOVO MEMBRO
Mensagens: 1
Registrado em: Ter Jun 15, 2010 8:42 pm


Criando protetor para js com php

Mensagem por web Offline » Ter Jun 15, 2010 9:40 pm

Falando pela alteração no script, usando SESSION, o usuário não consegue ver de modo algum o conteúdo do arquivo.

detalhes...

Gostou do que encontrou? Divulgue, indique, participe, agradeça pelas respostas.

Faço scripts personalizados ou reparos em scripts. Orçamento MSN codigosnaweb1 [@] gmail [.] com

Avatar do usuário
web
ADMIN
ADMIN
Mensagens: 12425
Registrado em: Sáb Jan 20, 2007 6:08 pm
Localização: RJ / RJ / Brasil

Próximo

responder a dúvida

Voltar para Dicas de segurança

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante