E-mail: Senha: Esqueceu sua senha?
Bom almoço! Segunda-feira, 06 de Fevereiro de 2012
Login Meu Carrinho
EMITIR 2ª VIA DO BOLETO
Nº da fatura:

Hospedagem de Sites e Serviços de Internet > Base de Conhecimento > Desenvolvimento > Segurança > Como proteger arquivos de javascript e css


Como proteger arquivos de javascript e css




Ultimamente muitos desenvolvedores tem criado aplicações para web utilizando javascript, css, ajax, xml, e ai por diante. Neste artigo estarei explicando uma forma bem funcional de como proteger os arquivos usando PHP como linguagem dinamica.
(Neste tutorial vamos utilizar o exemplo com javascript, pois as proteções sao mais procuradas para este tipo de arquivo)

 

# O primeiro passo é ter um arquivo javascript.

Geralmente os arquivos javascript sao salvos em arquivos com extenções "js" (Ex: arquivo.js) assim quando o desenvolvedor nescessita do uso daquele script ele usa um comando que abre o mesmo.
Exemplo:
==================================
     <script type="text/javascript" src="arquivo.js"></script>
==================================

Mas como nossa proteção irá usar a linguagem PHP para fazer a proteção do arquivo, o nome que tinha a extenção ".js" agora terá ".js.php" para o servidor interpretar os comandos em PHP.

Agora vamos usar um exemplo de arquivo javascript bem básico, onde ele irá somente escrever algum texto na tela.
(Este exemplo ja inclui a parte que protege a abertura do arquivo)
Nome do arquivo: script.js.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['Chave_Arquivo_script'] != 'Valor_Da_Chave') // 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['Chave_Arquivo_script'] = ''; // sempre que o arquivo passa pela execução, limpa a sessao de chave após a verificação
     unset($_SESSION['Chave_Arquivo_script']); // 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('Olá mundo, meu script esta protegido.');
==================================
* No exemplo acima:
-> Usamos uma $_SESSION (sessão do servidor) para definir uma chave que deverá ter um determinado valor para o script continuar a execução, caso o valor da chave não esteja definido corretamente, escreve a mensagem (em javascript) que o arquivo não tem permições para ser aberto e em seguida interrompe a execução do mesmo.
-> Sempre que o arquivo for executado, o primeiro passo Será verificar se ele é valido, e em seguida limpar a $_SESSION que possui o valor da chave, assim a chave definida como valida será aceita somente uma vez.

Se voce copiar o código do exemplo acima, colar em um arquivo, salvar com o nome citado antes do exemplo, e executar ele, verá que não aparecerá a mensagem "Olá mundo..." e sim a mensagem dizendo que o arquivo não está autorizado para abertura.

# O segundo passo é ter um arquivo que chame o javascript definindo a chave autenticada.

Agora que temos um arquivo protegido, vamos ter que usa-lo em nossas paginas, para isto teremos que (antes da execução do script) definir o valor autorizado para a chave, para que o script identifique que sua página tem o valor certo para a autenticação e por consequencia executar o script ja limpando o valor da chave para não ter possibilidade de aberturas se a redefinição da chave.

Agora vamos usar o exemplo da página que vai autorizar e abrir o script.
(Neste exemplo vamos usar a página chamada index.php considerando que o nosso script devera ser aberto na página principal do site)
Nome do arquivo: index.php
==================================
     <?
     session_start(); // inicia a rotina de sessoes antes de começar o html
     ?>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>Meu site em PHP com js</title>
    <?
     $_SESSION['Chave_Arquivo_script'] = 'Valor_Da_Chave'; // define a chave com o valor autorizado
     // em seguida abre o arquivo em js
     ?>
    <script type="text/javascript" src="script.js.php"></script>
    </head>
    <body>
    <p>Este a página que abre o script, acima deve aparecer o conteudo retornado pelo.</p>
    </body>
    </html>
==================================
* No exemplo acima:
-> Definimos o inicio da rotina de sessoes antes das tags de html.
-> Definimos a $_SESSION com o nome da chave que possui o valor autenticado para o script fazer a verificação, aceitar, exibir o script, e limpar a chave para uma nova verificação futura.
-> E a página se procede exibindo todo o conteudo html e javascript (do arquivo script.js.php) carregados com autorização.

Para ver que realmente funciona, tente abrir o script (script.js.php) no browser, e veja se o conteúdo que aparece é autenticado ou invalido, (o arquivo nao deve conter as informações protegidas quando for executado pelo browser)
Para ver que realmente funciona, experimente tirar a linha (na pagina index.php) que define a $_SESSION com o valor autenticado, você verá que o conteudo que irá aparecer, é o inválido.

Pronto, temos arquivos protegidos, e podemos usar em nossas paginas quando quisermos.
Mas ATENÇÃO:
* Sugiro que use outros nomes para as chaves e os valores usados na autenticação, recomendado usar nomes e valores diferenciados e que dificultam a descoberta.
* Caso for usar a autenticação para mais de um arquivo, use nomes de chaves com prefixos diferentes. Exemplo: $_SESSION['ChaveArquivo_UM'] e $_SESSION['ChaveArquivo_DOIS']

 

Obs: este metodo de proteção nao atinge 100% da segurança dos arquivos.



Esta resposta lhe foi útil?

Adicionar aos Favoritos Adicionar aos Favoritos    Imprimir este Artigo Imprimir este Artigo

Veja também

Powered by WHMCompleteSolution

SUPORTE

LEGAL

N1 SOLUÇÕES

Site seguro