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
por 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

-
- Mensagens: 5
- Registado: Sexta Dez 02, 2005 13:15
por 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

-
- Mensagens: 264
- Registado: Quarta Mar 30, 2005 15:55
por 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

-
- Mensagens: 383
- Registado: Sexta Ago 20, 2004 13:03
- Localização: Porto
por 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

-
- Mensagens: 5
- Registado: Sexta Dez 02, 2005 13:15
por 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

-
- Mensagens: 3257
- Registado: Sábado Abr 06, 2002 18:28
- Localização: Coimbra
-
por 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_globalsE 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"

-
raac
- Novato

-
- Mensagens: 5
- Registado: Sexta Dez 02, 2005 13:15
por 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

-
- Mensagens: 1
- Registado: Sexta Dez 02, 2005 23:33
por Sld » Domingo Dez 04, 2005 13:27
XO Escreveu:Ele já está "seguro"...
Será que está mesmo?
- 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.
Tens dúvidas? Não sabes o que fazer? Calma... consulta as
FAQS!

-
Sld
- 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