Jump to content


Photo

Ajuda Query String


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

#1 Sayfor

Sayfor

    Novato no fórum

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

Posted 27/01/2009, 14:52

Boa tarde, sou novato em PHP, tentei incluir este código no meu site só que mesmo assim ele da erro você digita o endereço www.blablabla.com e aparece o seguinte:
Notice: Undefined index: p in C:\Arquivos de programas\EasyPHP 2.0b1\www\index.php on line 9
<conteudo pag principal>
Pagina Principal Sobre a Empresa Fale Conosco
© 2004/2005 Todos os direitos reservados

O code é:

<?php
$sessao = $_GET["p"];
$pag = $sessao.".php";
if (empty($_SERVER['QUERY_STRING'])) {
	include  "principal.php"; }
	else {
if(isset($pag) && file_exists($pag)){
 include($pag);
} else {
include ("erro.php");
}
}
?>
Posted Image
Alguém sabe me dizer se há algo errado?

Edição feita por: Sayfor, 27/01/2009, 15:02.


#2 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 27/01/2009, 17:48

Na verdade não é um erro, é só um aviso lhe informando que o índice p que você está procurando na primeira linha, com o $_GET, não existe.

Uma boa prática é sempre você tratar este tipo de coisa, já que, pelo que eu entendi, na página principal não é utilizado querystring então não há necessidade deste.

Tente:

<?php

if ( !isset($_GET["p"]) )
{
	include  "principal.php";
}
else
{
	$pag = $_GET['p'] . ".php";
	
	if( file_exists($pag) )
	{
		include($pag);
	}
	else
	{
		include ("erro.php");
	}
}

?>

PS. provavelmente o aviso desapareceu, mas aconselho manipular querystring com arquivos de uma maneira mais segura. ;)

[]'sAté mais
Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br

#3 Sayfor

Sayfor

    Novato no fórum

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

Posted 27/01/2009, 18:28

hehe por ser novato não estou 100% ainda, pode me dizer um code mais seguro então? oO
Eu tinha colocado error_reporting(E_ERROR | E_WARNING | E_PARSE); para esconder o aviso :P
Desde já agradeço.

#4 Guilherme Luiz

Guilherme Luiz

    Normal

  • Usuários
  • 78 posts
  • Sexo:Masculino
  • Localidade:São Paulo

Posted 31/01/2009, 00:01

Questão de segurança da query string é tão citado quanto a segurança contra gravidez e DST's...
Todu mundoi sabe que existe, sabe como fazer(alguns realmente não sabem) mas sempre na melhor hora, na hora da empolgação (aprendendo) esquece!

Então como o Paulo disse, o modo como vc pretende usar query string manipulando diretamente arquivos colocando a extenção deles sem nenhum preg_replace fica quase nula a segurança do seu site...

Portanto, sempre procure novos metodos de prevenção e proteção, tanto no php como na vida ^_^
just its a lie when the truth is found !




1 user(s) are reading this topic

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

IPB Skin By Virteq