Jump to content


Photo

Query String


  • Faça o login para participar
5 replies to this topic

#1 Kikitten

Kikitten

    Novato no fórum

  • Usuários
  • 9 posts
  • Sexo:Não informado

Posted 10/02/2007, 20:05

Eu estou usando no meu site (teste ainda) query strings.
Eu usei esse tutorial aqui > Tutorial de Query String

Para a segurança, em outro site, indicaram isso:

Coloque no arquivo "pagina.php" logo após abrir o código "<?php" este código

if (!eregi("pagina.php", $_SERVER['PHP_SELF'])) {
	die ("Você NÃO pode ascessar este arquivo diretamente...");
}

require_once("index.php");

Aí se o cabra safado tentar ascessar somente a "pagina.php" nao consiguira. so consiguira se ascessar o index.php?name=pagina

Agora, para proteger de Ataques de fora tipo "index.php?name=http://etc.etc/bla/password"

coloque isto:


$domainname = "www.seudominio.com";
if ($_SERVER['SERVER_NAME'] != $domainname ) {
  echo "Ascesso Negado";
  die();
}


Mas não funcionou, pois aparecia a mensagem para mim quando eu clicava nos links para abrir as páginas "includadas".

Como pode ser feito isso então?

Desde já agradeço a atenção :lol:

#2 sk15

sk15

    Super Veterano

  • Usuários
  • 2071 posts
  • Sexo:Masculino
  • Localidade:SP - SP

Posted 11/02/2007, 06:38

Bem ... let's go ...
Como vc esta fazendo seu sistema ??? Exatamente igual a esse manual do Topico ???
Pois pelo que entendi vc esta querendo complementar ele com uma segurança extra é isso???

Se for é simples é so colocar esses valores antes de tudo é so ...
<?php
// Pega o Arquivo da URL
// Algo como:  index.php?arquivo=games
$pagina = $_REQUEST["arquivo"];

// Inicia uma variavel de segurança
define("Index", "OK");

// Inicia a verificação para mostrar somente arquivos validos
if ($pagina == "games") {
 include_once("games.php");
} else if ($pagina == "contato") {
 include_once("contato.php");
} else {
 // Mostra a a inicial
 include_once("inicial.php");
}
?>

Ai dentro dos arquivos: games.php, contato.php e inicial.php
Logo nas primeiras linha vc coloca isso

<?php
// Aqui verifica se o código da index foi enviado se não, ele breca :)
if (!defined("Index")) { die("VocÊ não pode acessar esse arquivo"); }

// Aqui vem o resto de suas páginas
?>

Acredito que isso solucione seu problema........

#3 Kikitten

Kikitten

    Novato no fórum

  • Usuários
  • 9 posts
  • Sexo:Não informado

Posted 11/02/2007, 21:02

Muito obrigada por me responder ^^ acho melhor eu ler mais sobre php ... porque testando o que você disse, realmente deu certo, e realmente era uma coisa boba x.x um simples define resolveu tudo >.<

Mais uma vez agradeço ^^/
Baibai

#4 fender

fender

    Novato no fórum

  • Usuários
  • 20 posts
  • Sexo:Não informado

Posted 09/04/2007, 16:13

Olá,
E se eu quiser que ao invés de aparecer a mensagem "Você não pode acessar esse arquivo", ele entre na página correta? (index.php?arquivo=games)

Obrigado!
E desculpe-me a ignorância

#5 sk15

sk15

    Super Veterano

  • Usuários
  • 2071 posts
  • Sexo:Masculino
  • Localidade:SP - SP

Posted 09/04/2007, 18:22

Bem é simples é so pegar o arquivo atual pelo PHP_SELF retirar a parte (.php) e redirecionar .... Olhe ...

<?php
// Aqui verifica se o código da index foi enviado se não, ele breca :)
if (!defined("Index")) {
 $arquivo = str_replace(".php", "", $_SERVER["PHP_SELF"]); 
 header("Location: ./index.php?arquivo=" . $arquivo);
 exit();
}

// Aqui vem o resto de suas páginas
?>

É isso se o cara acessar o arquivo "games.php" direto ele ira retirar a parte (.php) do nome do arquivo e ira redirecionar para o "index.php" com o valor da página ....

Isso se seu código for igual ao apresentado nesse tópico .....

Edição feita por: sk15, 09/04/2007, 18:23.


#6 xerxes

xerxes

    Novato no fórum

  • Usuários
  • 2 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte

Posted 12/04/2007, 11:22

HUm... também tenho essa duvida


--------------------

Visite meus Sites:

http://www.tecni-ar.com.br
http://www.emapmontagens.com.br
http://www.neryconsultoria.com
http://www.amorgospel.net

Edição feita por: xerxes, 12/04/2007, 11:27.





1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq