Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Kakaroto1309

CSS Dinamico com PHP

Recommended Posts

Estou tentando fazer um CSS dinamico.

Ja li algumas paginas mais cada uma fala de um jeito e nenhuma deu certo.

 

A unica forma que deu certo foi a seguinte:

Na pagina de importacao coloquei:

<link href="CSS/estilos.php" rel="stylesheet" type="text/css" media="screen" />

Ja no arquivo ESTILOS.php coloquei

<?php
header('Content-type:text/css');
$fundo = '#fff';
?>

@charset "utf-8";
/* CSS Document */

body {
	font-family:Verdana;
	font-size:12px;
	margin:10px auto;
	background-color: <?php echo $fundo; ?>;
}

Até ai, tudo certo e funcionou perfeitamente.

 

Porém, se eu for na barra de endereços e digitar o endereço do arquivo www.meusite.com/CSS/estilos.php, a pagina abre com todos os comandos do CSS como se tivesse um echo divulgando tudo, ou seja, a pessoa pode ver tudo.

 

Como posso fazer para bloquear isso?

Alguma ideia?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pra q bloquear? Nós conseguimos todos os estilos dos sites normal...o cara só vai ver css mesmo

 

Melhor bloquear, porque o cara pode ver endereços de imagens e tudo mais.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Por enquanto só tem isso:

<?php
header('Content-type:text/css');
$fundo = '#fff';
?>

@charset "utf-8";
/* CSS Document */

body {
	font-family:Verdana;
	font-size:12px;
	margin:10px auto;
	background-color: <?php echo $fundo; ?>;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então...vou te dar algumas dicas man...

 

1ª - Insisto em dizer que não faz sentido o que você quer fazer, mesmo que "proteja" o arquivo, eu posso facilmente dar F12 ou inspecionar elemento e pegar todo conteúdo do mesmo jeito, o que você não quer é que simplesmente de para acessar o caminho localhost/PastadoProjeto/css.php, o que ficaria feio de fato.

 

2ª - Quer bloquear acesso direto? O jeito mais simples é tirar ele do contexto lido pelo servidor...coloque ele fora da pasta do projeto e no href do <style> coloque o caminho completo...

 

3ª - se você precisa de css "dinâmico", aqui vai uma dica, deixe o css estático e mude as classes nas tags com o pag ex:

<?php

 echo "<div class='teste'></div>";
 //precisa disso com condições, o que faria ser dinâmico??
 faz 

  if(alguma coisa acontecer){
   $class =  "nome da class que já está feita no css";
  }else{
   $class = "nome de outra classe que já está no css";
  }
 //agora
 echo "<div class='$class'></div>";
   

seu csss...


.teste{
 seus estilos...
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Então...vou te dar algumas dicas man...

 

1ª - Insisto em dizer que não faz sentido o que você quer fazer, mesmo que "proteja" o arquivo, eu posso facilmente dar F12 ou inspecionar elemento e pegar todo conteúdo do mesmo jeito, o que você não quer é que simplesmente de para acessar o caminho localhost/PastadoProjeto/css.php, o que ficaria feio de fato.

 

2ª - Quer bloquear acesso direto? O jeito mais simples é tirar ele do contexto lido pelo servidor...coloque ele fora da pasta do projeto e no href do <style> coloque o caminho completo...

 

3ª - se você precisa de css "dinâmico", aqui vai uma dica, deixe o css estático e mude as classes nas tags com o pag ex:

<?php

 echo "<div class='teste'></div>";
 //precisa disso com condições, o que faria ser dinâmico??
 faz 

  if(alguma coisa acontecer){
   $class =  "nome da class que já está feita no css";
  }else{
   $class = "nome de outra classe que já está no css";
  }
 //agora
 echo "<div class='$class'></div>";
   

seu csss...


.teste{
 seus estilos...
}

 

Faz sentido, faz sentido...

 

O CSS dinamico eu quero porque quero deixar as informacoes no banco de dados, como cor de fundo, imagens, etc...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui achar uma solucao:

 

Na pagina que chama coloquei:

<link href="CSS/estilos.php" rel="stylesheet" type="text/css" media="screen" />

E nos estilos.php coloquei

<?php
$VAR = $_SERVER['HTTP_REFERER'];

if ($VAR == "")
{
	echo '<script type="text/javascript"> 
		location.href="/";
		</script>';
	exit;
}

header('Content-type:text/css');
$fundo = '#fff';
?>

Funcionou!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.