Webly: Como proteger arquivos de javascript e css - Webly

Ir para

Regras para postagem

É permitido postar livremente respostas com comentários, testes e avaliações dos scripts. Postagens contendo dúvidas sobre o script, deverão ser postadas no fórum principal de PHP

IMPORTANTE: Todos os tutoriais postados neste fórum irão automaticamente para o portal Webly. Contribua você também e faça parte da equipe de colaboradores que fazem a evolução da web. Obrigado.


  • (3 Páginas)
  • +
  • 1
  • 2
  • 3

Como proteger arquivos de javascript e css Faça seu arquivo ficar protegido, somente sua página abre ele. Avaliar tópico: -----

#1 Membro offline   rawff developer Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 116
  • Cadastrado: 13-julho 06

Ícone  Postou 15 julho 2006 - 11:10

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)
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)
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']

Créditos:
Rafael da Silva - rafael@welterserver.com.br
Welter Server - www.welterserver.com.br
http://rafadeveloper.blogspot.com/
0

#2 Membro offline   AlexRoncon Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 1
  • Cadastrado: 15-julho 06

Postou 15 julho 2006 - 05:30

/** Editado por micox para evitar discussões desnecessárias **/

É impossivel proteger o codigo fonte só uma pessoa leiga que pode pensar que consegue proteger o codigo fonte html.
Cara desiste dessa ideia nao da para esconder o fonte. Voce só consegue esconder o fonte de voce mesmo ou de outra pessoa leiga.
0

#3 Membro offline   Micox Ícone

  • Comunidade de desenvolvedores
  • Ícone
  • Grupo: Administradores
  • Posts: 5473
  • Cadastrado: 03-julho 06
  • Localização:Goiânia-GO
  • Interesses:Webly e elmicox.blogspot.com

Postou 16 julho 2006 - 11:04

Ae rawff, posta um link aí pragente testar.

Mas eu já sou da idéia de que é impossível proteger também. heheh
valeus.net/mwords - Links automáticos p/ o MercadoLivre em seu texto

Ajude, responda: mesmo que não saiba exatamente a resposta, seu pitaco pode dar uma luz no problema do outro.
Não respondo dúvidas por MP / Email / MSN e afins. O fórum está aqui pra isto.

elmicox.blogspot.com
0

#4 Membro offline   Daniel Lima Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 82
  • Cadastrado: 13-julho 06

Postou 17 julho 2006 - 08:18

Eu gostei da ideia... da para evitar de ver o código JS... Alias, faço umas coisas para evitar problemas com BD... tipo, gravar cookie e sessão e verificar se são iguais, validade, etc...

Mas eu queria saber como o pessoal do Imasters fez para proteger o CSS deles que fala do evento q vai ter em Sp...
0

#5 Membro offline   rawff developer Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 116
  • Cadastrado: 13-julho 06

Postou 17 julho 2006 - 08:49

opaa.. ja tentaram fazer o script?
realmente tem uma brexa que permite ver o fonte, mas essa brexa consiste em salvar a pagina toda, o que nem todo desenvolvedor pensa alias temos a ruim mania de ver o fonte, bom, ao invex de falarem, segue o tutorial e v o fonte do script...

PS: como falei, tem uma brexa pra ver o fonte, mas so fui ver depox que fiz o tuto intao nem rola retirar td, e ainda nao axei uma forma de arrumar..

flw []'s :)

Ver postMicox, em Jul 16 2006, 11:04 PM, disse:

Ae rawff, posta um link aí pragente testar.

Mas eu já sou da idéia de que é impossível proteger também. heheh

http://rafadeveloper.blogspot.com/
0

#6 Membro offline   Micox Ícone

  • Comunidade de desenvolvedores
  • Ícone
  • Grupo: Administradores
  • Posts: 5473
  • Cadastrado: 03-julho 06
  • Localização:Goiânia-GO
  • Interesses:Webly e elmicox.blogspot.com

Postou 17 julho 2006 - 09:13

Link pra galera cara. Tem nennum não? E vamo esfriar a cabeçola aí hehehe

Daniel, eu olhei o css do imasters e realmente tá bem protegido. Ainda não achei uma forma de abrir, se bem que nao tentei muito também .heueheha
valeus.net/mwords - Links automáticos p/ o MercadoLivre em seu texto

Ajude, responda: mesmo que não saiba exatamente a resposta, seu pitaco pode dar uma luz no problema do outro.
Não respondo dúvidas por MP / Email / MSN e afins. O fórum está aqui pra isto.

elmicox.blogspot.com
0

#7 Membro offline   rawff developer Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 116
  • Cadastrado: 13-julho 06

Ícone  Postou 17 julho 2006 - 09:25

to frio cara... ta ai o link (oh preguisa de ctrl+c ctrl+v do fonte e ctrl+s neh :P zueira =p ).
Pagina que usa o conteudo do script: http://meublog.ws/up...ipt_exemplo.php
Script: http://meublog.ws/up...r_script.js.php

ja falei do bug neh?
bom, o script nao eh perfeito, mas axei ki foce funcionar perfeitamente, mas axo ki ta valendo, e vcs que falam, tem uma solução boa pra nós?
flw []'s


Ver postMicox, em Jul 17 2006, 09:13 AM, disse:

Link pra galera cara. Tem nennum não? E vamo esfriar a cabeçola aí hehehe

Daniel, eu olhei o css do imasters e realmente tá bem protegido. Ainda não achei uma forma de abrir, se bem que nao tentei muito também .heueheha

Este post foi editado por rawff developer: 17 julho 2006 - 09:44

http://rafadeveloper.blogspot.com/
0

#8 Membro offline   rawff developer Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 116
  • Cadastrado: 13-julho 06

Ícone  Postou 17 julho 2006 - 09:37

Ver postMicox, em Jul 17 2006, 09:13 AM, disse:

Daniel, eu olhei o css do imasters e realmente tá bem protegido. Ainda não achei uma forma de abrir, se bem que nao tentei muito também .heueheha


nao sei se intendi bem ao certo essa parada ai do css do imasters.. mas se referem ao site ou ao forum? pq consegui ver normalmente o do imasters, ta td ake...sei la se intendi certo, me exclarece ai..
conseguem ver o conteudo do link http://static.imaste...estilo/menu.css e do http://static.imaste...stilo/index.css e do http://static.imaste...tilo/padrao.css
se nao foi issu que quiseram dizer aivsa pra eu nao boiar :P
http://rafadeveloper.blogspot.com/
0

#9 Membro offline   Micox Ícone

  • Comunidade de desenvolvedores
  • Ícone
  • Grupo: Administradores
  • Posts: 5473
  • Cadastrado: 03-julho 06
  • Localização:Goiânia-GO
  • Interesses:Webly e elmicox.blogspot.com

Postou 17 julho 2006 - 09:52

O link que tem o css protegido é esse Rawf: http://www.imasters..../intercon/2006/

Mas sua página de testes não tá muito boa não. Gariba melhor ela aí. Poe seu script pra fazer alguma coisa na página pragente ter certeza que ele tá funcionando.

té mais.
valeus.net/mwords - Links automáticos p/ o MercadoLivre em seu texto

Ajude, responda: mesmo que não saiba exatamente a resposta, seu pitaco pode dar uma luz no problema do outro.
Não respondo dúvidas por MP / Email / MSN e afins. O fórum está aqui pra isto.

elmicox.blogspot.com
0

#10 Membro offline   Fabyo Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 30
  • Cadastrado: 11-julho 06

Postou 17 julho 2006 - 09:58

é impossivel proteger o codigo fonte html, js e css

nao precisa ser nenhum expert em programação basta usar o navegador que nao for IE e pronto se baixa o codigo fonte completo testem no Opera e FF que vcs veram

mas para esquecerem essa ideia de tentar proteger algo que nao da
basta pensar assim o navegador precisa acessar o fonte para poder ler e mostrar a pagina, se o navegador consegue ver o fonte, qualquer consegue, nao tem jeito é IMPOSSIVEL progeter, se for o caso eu posso ate imitar um navegador usando PHP e pegar o fonte, mas como falei acima basta o opera e pronto
0

#11 Membro offline   rawff developer Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 116
  • Cadastrado: 13-julho 06

Postou 17 julho 2006 - 10:01

da um bisu la no link agora. axo ki vai da pra intender melhor agora.. http://meublog.ws/up...ipt_exemplo.php

Ver postMicox, em Jul 17 2006, 09:52 AM, disse:

O link que tem o css protegido é esse Rawf: http://www.imasters..../intercon/2006/

Mas sua página de testes não tá muito boa não. Gariba melhor ela aí. Poe seu script pra fazer alguma coisa na página pragente ter certeza que ele tá funcionando.

té mais.

http://rafadeveloper.blogspot.com/
0

#12 Membro offline   Fabyo Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 30
  • Cadastrado: 11-julho 06

Postou 17 julho 2006 - 10:05

document.write('Olá mundo, meu script esta protegido.');

document.write('<br>Esse eh o conteudo de exemplo que tem no script.');

alert('Pronto... pode dar OK');
alert('Esses alerts sao criados pelo arquivo de script.');
alert('Agora sabem que so vai aparecer estes alerts, quando o script for aberto corretamente, com protecao.');
alert('Isso signifika que quando abrirem o codigo fonte do script (laa na url) nao vai aparecer esse monte de alert.');
alert('Irá aparecer somente um document.write dizendo que nao ta abrindo com auth.');
alert('Axo que deu pra intender neh.');


esqueçam essa ideia é IMPOSSIVEL e pronto, o js, html e css nao foram criados para ter o fonte escondido, se quer algo a esconder use linguaguens como PHP
0

#13 Membro offline   rawff developer Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 116
  • Cadastrado: 13-julho 06

Postou 17 julho 2006 - 10:07

bom, ja falei do bug neh.. mas me diz. vc abriu pelo link ou pelo "Salvar como" ?

Ver postFabyo, em Jul 17 2006, 10:05 AM, disse:

document.write('Olá mundo, meu script esta protegido.');

document.write('<br>Esse eh o conteudo de exemplo que tem no script.');

alert('Pronto... pode dar OK');
alert('Esses alerts sao criados pelo arquivo de script.');
alert('Agora sabem que so vai aparecer estes alerts, quando o script for aberto corretamente, com protecao.');
alert('Isso signifika que quando abrirem o codigo fonte do script (laa na url) nao vai aparecer esse monte de alert.');
alert('Irá aparecer somente um document.write dizendo que nao ta abrindo com auth.');
alert('Axo que deu pra intender neh.');

http://rafadeveloper.blogspot.com/
0

#14 Membro offline   Micox Ícone

  • Comunidade de desenvolvedores
  • Ícone
  • Grupo: Administradores
  • Posts: 5473
  • Cadastrado: 03-julho 06
  • Localização:Goiânia-GO
  • Interesses:Webly e elmicox.blogspot.com

Postou 17 julho 2006 - 10:08

Boa rafa. Eu não consegui ver.
Alguém me ensine. heuhhhehe
valeus.net/mwords - Links automáticos p/ o MercadoLivre em seu texto

Ajude, responda: mesmo que não saiba exatamente a resposta, seu pitaco pode dar uma luz no problema do outro.
Não respondo dúvidas por MP / Email / MSN e afins. O fórum está aqui pra isto.

elmicox.blogspot.com
0

#15 Membro offline   Fabyo Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 30
  • Cadastrado: 11-julho 06

Postou 17 julho 2006 - 10:15

só uma coisa nao importa como e sim se da ou nao da, é impossivel proteger o fonte, se vai usar esse codigo e falar pro cara "Pagina protegida, mas por favor nao salvar como..." ?

e eu apenas salvei sua pagina no meu desktop, veio de brinde o js

e se quiser eu posso pegar usando PHP
obs: seu script nao tem bug nenhum, é que é impossivel mesmo proteger o codigo fonte :)
0

  • (3 Páginas)
  • +
  • 1
  • 2
  • 3


Resposta rápida

  

1 usuário(s) está(ão) lendo este tópico
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)