Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

alves077

[Dúvida] php+sql

Mensagens Recomendadas

alves077

Boa noite,

Tenho uma dúvida que se calhar para muitos pode ser simples, mas que já ando a pensar aum tempo. Tenho um aplicação em php, em uso sql para fazer query a base de bados, só que imaginemos que tenho um form ele insere determinados dados nesse form, depois faço um insert com esses mesmos dados. E se o utilizador em causa decidir brincar com os comandos sql, e por nesse mesmo for um delete para uma das tabela da minha base de dados?

Se apagar a tabela da base de dados, como posso prevenir?

uso query, como por exemplo:

$query="INSERT INTO teste (teste01) VALUES( $_POST['testr']');
mysql_query($query) or die(mysql_error());

Não se me fiz entender..

Obrigado pela atenção,

alves077

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
MoshMage

Eish, ó Yoda. Isto é tão feio. Mais um bocado e dizias-lhe "vais ao google, e é o primeiro resultado da procura lalalalala" xD

Boa noite,

Tenho uma dúvida que se calhar para muitos pode ser simples, mas que já ando a pensar aum tempo. Tenho um aplicação em php, em uso sql para fazer query a base de bados, só que imaginemos que tenho um form ele insere determinados dados nesse form, depois faço um insert com esses mesmos dados. E se o utilizador em causa decidir brincar com os comandos sql, e por nesse mesmo for um delete para uma das tabela da minha base de dados?

Se apagar a tabela da base de dados, como posso prevenir?

uso query, como por exemplo:

$query="INSERT INTO teste (teste01) VALUES( $_POST['testr']');
mysql_query($query) or die(mysql_error());

Não se me fiz entender..

Obrigado pela atenção,

alves077

Alves, Já existem muitos artigos sobre como prevenir sql-injections no entanto quase ninguem fala nas "novas" classes que o php tem para sql: MySQLI e PDO SQL

Eu costumo usar a MySQLi e esta possui um comando baril, o mysqli->prepare() (mysqli->bindparam() e execute()) que prepara os statements antes de os enviar para a base de dados.

No entanto, o link que o Yoda te mandou tem isto tudo explicado tim-tim por tim-tim numa forma um bocadinho mais resumida que o manual de php.


If all Else fails, use Else If;

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.