Problema Servidor Dedicado/PHP/Mysql...

PHP, Java, JavaScript, XML, XHTML, HTML, CSS, ASP, Delphi, Assembly, LaTeX, C, UML, Flash, Perl, SQL, Python, Zope, Pascal, WML. Se conhece mais de 3 siglas referidas, este é o forum para si.

Moderadores: Administradores, Moderadores

Problema Servidor Dedicado/PHP/Mysql...

Mensagempor raac » Sexta Dez 02, 2005 14:55

Boas pessoal,

Ora bem, eu tenho um servidor dedicado e esta-me a acontecer o seguinte,

quando tenho usar qualquer coisa do tipo : link.php?id=123 , não retorna nada !! Usando o mesmo código noutro servidor qualquer não há problema nenhum, nunca tinha visto isto.

Agora eu pergunto será problema do php ? Mysql ? Apache ?
raac
Novato
Novato
 
Mensagens: 5
Registado: Sexta Dez 02, 2005 13:15

Mensagempor Creative Byte » Sexta Dez 02, 2005 15:23

Boas,

Estás a ser um pouco vago. :?

O que acontece se utilizares um link do tipo: link.php

Não me parece que seja do MySql, poderá ser da configuração Apache/PHP. Já alguma vez funcionou bem, ou nunca funcionou?
Creative Byte
Membro de Prata
Membro de Prata
 
Mensagens: 264
Registado: Quarta Mar 30, 2005 15:55

Mensagempor capricorn » Sexta Dez 02, 2005 15:35

verifica se não estás a usar a variável $id para outra coisa
capricorn
Membro de Prata
Membro de Prata
 
Mensagens: 383
Registado: Sexta Ago 20, 2004 13:03
Localização: Porto

Mensagempor raac » Sexta Dez 02, 2005 15:44

Código: Seleccionar todos
<? include "config.php"; ?>

<select name="idmarca" size="1" style="width: 180px;">
<option value="0" selected>Escolha Versao</option>
<? $query="SELECT * from bd id WHERE idmarca = '$idmarca' AND idmodelo = '$idmodelo' ";

mysql_connect ($dbserver,$dbuser,$dbpass);
mysql_select_db ($dbname);
$result3 = mysql_query ($query) ;
$row = mysql_fetch_array($result3);

  do {

$idmarca = $row["idmarca"];
$idmodelo = $row["idmodelo"];
$versao = $row["versao"];
$id = $row["id"];
?>

<option value="19"><? print "$versao"; ?></option><? } while($row = mysql_fetch_array($result3) ); ?>
</select></p>


Estou a usar este código, e por exemplo se eu meter

link.php?idmarca=1&idmodelo=12 vai me retornar a versao que pretendo
e no servidor actual isso nao acontece :(
raac
Novato
Novato
 
Mensagens: 5
Registado: Sexta Dez 02, 2005 13:15

Mensagempor alfatek » Sexta Dez 02, 2005 17:56

Se no servidor actual isso funciona, despede o gestor desse servidor :)

Actualmente não é recomendado o comportamento de meteres no endereço ?id_marca=12 e estar logo disponivel a variável $id_marca, tens de aceder usando $_GET['id_marca']

E ainda: usar variáveis que vêm do endereço em querys sql é o b-a-b das falhas de segurança em PHP... tens sp de as proteger primeiro.

http://pt.php.net/register_globals

E procura no google por security php ou validating input, etc...
alfatek
Administrador
Administrador
 
Mensagens: 3257
Registado: Sábado Abr 06, 2002 18:28
Localização: Coimbra

Mensagempor raac » Sexta Dez 02, 2005 21:05

alfatek Escreveu:Se no servidor actual isso funciona, despede o gestor desse servidor :)

Actualmente não é recomendado o comportamento de meteres no endereço ?id_marca=12 e estar logo disponivel a variável $id_marca, tens de aceder usando $_GET['id_marca']

E ainda: usar variáveis que vêm do endereço em querys sql é o b-a-b das falhas de segurança em PHP... tens sp de as proteger primeiro.

http://pt.php.net/register_globals

E procura no google por security php ou validating input, etc...


aqui vai o codigo actua alfatek:

Código: Seleccionar todos
<? include "config_bd_auto.php";

$id = $_GET['id'];
$idmarca = $_GET['idmarca'];
$idmodelo = $_GET['idmodelo'];

?>

<select name="idmarca" onchange="return Marca_onchange()" size="1" style="width: 180px;">
<option value="0" selected>Escolha Versao</option>
<? $query="SELECT * from bd id WHERE idmarca='" . $_GET['idmarca'] . "' AND idmodelo='" . $_GET['idmodelo'] . "' ";

mysql_connect ($dbserver,$dbuser,$dbpass);
mysql_select_db ($dbname);
$result3 = mysql_query ($query) ;
$row = mysql_fetch_array($result3);

  do {

$idmarca = $row["idmarca"];
$idmodelo = $row["idmodelo"];
$versao = $row["versao"];
$id = $row["id"];

?>

<option value="19"><? print "$versao"; ?></option><? } while($row = mysql_fetch_array($result3) ); ?>
</select></p>


bem já da, agora so me falta entao mete-lo "seguro" 8O
raac
Novato
Novato
 
Mensagens: 5
Registado: Sexta Dez 02, 2005 13:15

Mensagempor XO » Sexta Dez 02, 2005 23:38

Ele já está "seguro"... O que eles se referiam com segurança é no modo relativamente relaxado como podes criar variáveis no PHP. Ou seja, se dantes tinhas ?op=qqcoisa e podias aceder directamente à variavel $op, isso queria dizer que o register_globals estava ligado, sendo o script desse modo muito mais vulnerável, pois todas as variaveis que "metas" pra lá estavam acessiveis. Além de que é muito má politica de programação faze-lo. Ao desligares o register_globals (ou simplesmente usando o $_GET[] por exemplo), tens a certeza que estás a ir buscar a variavel que queres onde queres. $_GET do link que te aparece na barra de endereço e $_POST variaveis que venham dos forms.
Cumprimentos
XO
Novato
Novato
 
Mensagens: 1
Registado: Sexta Dez 02, 2005 23:33

Mensagempor Sld » Domingo Dez 04, 2005 13:27

XO Escreveu:Ele já está "seguro"...

Será que está mesmo? :P

Código: Seleccionar todos
<? include "config_bd_auto.php";

$id = $_GET['id'];
$idmarca = $_GET['idmarca'];
$idmodelo = $_GET['idmodelo'];

?>


Aqui defines as variáveis vindas da superglobal!

Código: Seleccionar todos
<select name="idmarca" onchange="return Marca_onchange()" size="1" style="width: 180px;">
<option value="0" selected>Escolha Versao</option>
<? $query="SELECT * from bd id WHERE idmarca='" . $_GET['idmarca'] . "' AND idmodelo='" . $_GET['idmodelo'] . "' ";


Porque é que depois não as usas na query? e voltas a ir á superglobal novamente?

Em relação á segurança em si.. não seria melhor verificares a integridade das variáveis? Se realmente são aquilo que esperas que sejam?

Como o alfatek sugeriu.. basta dares uma olhadela no google e fazeres uma pesquisa, o que não falta por ai são exemplos de como não cometer essas falhas.
Imagem
Tens dúvidas? Não sabes o que fazer? Calma... consulta as FAQS! :P
Sld
Aprendiz
Aprendiz
 
Mensagens: 57
Registado: Domingo Dez 21, 2003 14:09


Voltar para Programação

Quem está ligado:

Utilizadores a ver este Fórum: Nenhum utilizador registado e 4 visitantes

cron