Jump to content


Photo

Ajuda Com Querystring


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

#1 matheusoj

matheusoj

    Novato no fórum

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

Posted 31/01/2007, 01:06

esse eh o codigo
<?
if (@$_GET[pag]=="") {
@$_GET[pag]="principal";
}
$verif = eregi("http|ftp|https|www|wget|exe|scr", @$_GET[pag]);
if ($verif)
@$_GET[pag]="ilegal";
include("$_GET[pag].php");
?>

Peguei ele pronto aqui no forum, pois achei o mais seguro...

Porém se a pagina digitada não existir aparece um erro. Já tentei if e else. mas nao deu mto certo... aushuash

Daí queria saber o que tenho que adicionar pra quando a página não existir aparecer uma mensagem dizendo que a página não existe...

Grato desde já, matheusoj.

#2 sk15

sk15

    Super Veterano

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

Posted 31/01/2007, 01:37

Bem assim vc pode usar a função file_exists, para determinar se o arquivo requerido existe:
http://br.php.net/ma...file-exists.php

Tipo eu dei uma melhorada ems eu código fico assim:
<?php
if (!empty($_GET["pag"])) {
 $verif = eregi("http|ftp|https|www|wget|exe|scr", $_GET["pag"]);
 if ($verif) {
  $arquivo = "ilegal";
 } else {
  if (file_exits($_GET["pag"] . ".php")) {
   $arquivo = $_GET["pag"];
  } else {
   $arquivo = "404";
  }
 }
} else {
 $arquivo = "principal";
}
include("$arquivo.php");
?>

Edição feita por: sk15, 31/01/2007, 02:43.


#3 matheusoj

matheusoj

    Novato no fórum

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

Posted 31/01/2007, 11:16

vlw ai, mas...

Fatal error: Call to undefined function: file_exits() in c:\arquivos de programas\easyphp1-8\www\dd\site\index.php on line 54

LINHA 54: if (file_exits($_GET["pag"] . ".php")) {

=/

vo tenta arruma aqui...

Edição feita por: matheusoj, 31/01/2007, 11:17.


#4 herus02

herus02

    Rumo ao progresso! Yupi!!!

  • Usuários
  • 130 posts
  • Sexo:Não informado
  • Localidade:Curitiba
  • Interesses:Tornar-me um Web-Master de alto nível, alcançando os companheiros deste fórum...

Posted 31/01/2007, 12:06

Pessoal, olha o erro bobo!

Função inexistente!

função file_exists()!!

<?php
if (!empty($_GET["pag"])) {
$verif = eregi("http|ftp|https|www|wget|exe|scr", $_GET["pag"]);
if ($verif) {
  $arquivo = "ilegal";
} else {
  if (file_exists($_GET["pag"] . ".php")) {
   $arquivo = $_GET["pag"];
  } else {
   $arquivo = "404";
  }
}
} else {
$arquivo = "principal";
}
include("$arquivo.".php");
?>


eu usei algo bem parecido já... acho que um dos mais funcionais!

Abraços
4 anos de ForumWM.

#5 matheusoj

matheusoj

    Novato no fórum

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

Posted 31/01/2007, 12:41

aew! vlw kra xD
abraço

#6 boari

boari

    24 Horas

  • Usuários
  • 411 posts
  • Sexo:Masculino
  • Localidade:São joão Del Rei - Minas Gerais
  • Interesses:PHP, MySQL, SQL Server

Posted 31/01/2007, 13:20

Uma dúvida minha :wacko:
Porque o 'exe' e 'scr' na função eregi()?

#7 matheusoj

matheusoj

    Novato no fórum

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

Posted 31/01/2007, 13:42

pra não executar arquivos exe nem scr... pra sei lah... nao usa o site pra redirecionamento d virus... ;)

#8 boari

boari

    24 Horas

  • Usuários
  • 411 posts
  • Sexo:Masculino
  • Localidade:São joão Del Rei - Minas Gerais
  • Interesses:PHP, MySQL, SQL Server

Posted 31/01/2007, 13:48

pra não executar arquivos exe nem scr... pra sei lah... nao usa o site pra redirecionamento d virus... ;)


Pois é exatamente isso que me deixou encucado!

Se as pessoas não conseguem incluir as URL´s dentro do site via http|ftp|https|www|wget, porque bloquear EXE e SCR?

Sendo que nem vão ter chance disso?

#9 victorhb

victorhb

    24 Horas

  • Usuários
  • 489 posts
  • Sexo:Masculino
  • Localidade:Brasília-DF

Posted 31/01/2007, 13:54


pra não executar arquivos exe nem scr... pra sei lah... nao usa o site pra redirecionamento d virus... ;)


Pois é exatamente isso que me deixou encucado!

Se as pessoas não conseguem incluir as URL´s dentro do site via http|ftp|https|www|wget, porque bloquear EXE e SCR?

Sendo que nem vão ter chance disso?


É verdade... Bom mas pra efeito de segurança usam isso, vai que a pessoa consegue estabelecer contato usando algum outro protocolo?? Aí mesmo que consiga não vai executar arquivos .exe e nem .scr.

#10 boari

boari

    24 Horas

  • Usuários
  • 411 posts
  • Sexo:Masculino
  • Localidade:São joão Del Rei - Minas Gerais
  • Interesses:PHP, MySQL, SQL Server

Posted 31/01/2007, 14:43



pra não executar arquivos exe nem scr... pra sei lah... nao usa o site pra redirecionamento d virus... ;)


Pois é exatamente isso que me deixou encucado!

Se as pessoas não conseguem incluir as URL´s dentro do site via http|ftp|https|www|wget|, porque bloquear EXE e SCR?

Sendo que nem vão ter chance disso?


É verdade... Bom mas pra efeito de segurança usam isso, vai que a pessoa consegue estabelecer contato usando algum outro protocolo?? Aí mesmo que consiga não vai executar arquivos .exe e nem .scr.


Ok, mas aí teria que proíbir .com, .zip, .bat....etc...

Seria mais fácil não deixar a pessoa entrar de forma alguma. Pelo que eu sei essas http|ftp|https|www|wget seriam as possíveis.

Além de ter o incomodo de não poder ter como chamar:

?pag=exercicio
?pag=escrever
Tudo seria mandado pra ilegal.php....


vlws (y)

#11 sk15

sk15

    Super Veterano

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

Posted 31/01/2007, 15:14

vlw ai, mas...

Fatal error: Call to undefined function: file_exits() in c:\arquivos de programas\easyphp1-8\www\dd\site\index.php on line 54

LINHA 54: if (file_exits($_GET["pag"] . ".php")) {

=/

vo tenta arruma aqui...


Eu esuqreci um "S" escrever rapido da isso ... ups... mas assim eu passei o link da função era so vc prestar a atenção no link que tava resolvido.

Quanto so exe, src quanto mais segurança melhor, vai que a pessoa usa tipo telnet e coisas do genero como fica...

#12 Dudu

Dudu

    Viva la vida

  • Usuários
  • 1437 posts
  • Sexo:Masculino
  • Localidade:Uberlândia - MG
  • Interesses:PHP

Posted 31/01/2007, 15:37

Este código é do Boari.
Usu ele em meus sites, e funciona perfeitamente.

Fiz um sistema na página ilegal.php, que bloqueia o IP da pessoa que tentou acessar uma URL através da QUERYSTRING.

Muito bom Boari.

Até mais ^_^

Fórum WMO - Equipe de Desenvolvimento / Banco de Dados - Moderador


Twitter: HostCheap





1 user(s) are reading this topic

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

IPB Skin By Virteq