Jump to content


Photo

Parâmetro Na Query


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

#1 mestreteia

mestreteia

    Normal

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

Posted 29/03/2005, 13:51

Estou trabalhando com ODBC para comunicação com banco de dado, no caso, estou utilizando MySQL. Também estou tentando trabalhar com parâmetros, por questões de segurança. Acontece que o resultado da query, utilizando o parâmetro, fica completamente louco. O resultado é mostrado assim:

login - - nome - ð‘|=

E este é o código:

<?
//$login e $senha recebem valor de sessão

$conn = odbc_connect("banco", $login, $senha);

$SQL = "SELECT * FROM tabela WHERE [B]$login = ?[/B]";

$prep = odbc_prepare($conn, $SQL);
$res = odbc_execute($prep, [B]array($login)[/B]);

while (odbc_fetch_row($prep)){
echo "login - ".odbc_result($prep,"col1");
echo "- nome - ".odbc_result($prep,"col2")."<br>";
}

Versão do PHP 4.3.

Edição feita por: mestreteia, 29/03/2005, 13:52.

php rules!!!

#2 <? thales ?>

<? thales ?>

    Nossa vida é desperdiçada pelos detalhes...Simplifique, Simplifi

  • Banidos
  • PipPipPipPipPipPip
  • 551 posts
  • Sexo:Não informado
  • Localidade:Belo Horizonte
  • Interesses:Programar&lt;br&gt;Estou tentando ser um Hacker&lt;br&gt;Gosto de mulheres

Posted 29/03/2005, 17:09

Para que serve o login=?
NITRØ
--------------------
Foi mau galera

#3 mestreteia

mestreteia

    Normal

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

Posted 30/03/2005, 09:32

Quando vc coloca queries para serem executadas pelo PHP, vc tem que tomar cuidado para o fato de pessoas poderem injetar um código malicioso nela. Tipo:

select * from table where id=12345;shutdown

E o cara pode injetar sim porque ele pode colocar aspas em algum campo que será lido pelo PHP. E esse campo é uma variável que está dentro da query.

Para evitar isso, vc pode parametrizar a query colocando um símbolo de escape, tipo "?". Depois é que vc vai dizer o que recebe esse símbolo, como no exemplo que eu dei no início.
php rules!!!




1 user(s) are reading this topic

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

IPB Skin By Virteq