Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

alves077

[Dúvida] php+sql

Recommended Posts

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

Share this post


Link to post
Share on other 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;

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.