PDO é a maneira mais segura de conectar a um banco de dados?
Neste artigo veremos se PDO é a maneira mais segura de conectar a um banco de dados em PHP, quais as suas vantagens e desvantagens em relação as outras formas
Fala programador(a), beleza? Bora aprender mais sobre PHP e PDO!
Devemos sempre optar por PDO ao mysql_*, porém o mysqli que é uma versão mais nova do mysql_*, tem um nível de segurança alto também
Formação Vibe Coding
Do Prompt ao Produto: Crie Software Real com IA
- 474 aulas
- 20 projetos
- 39h 27min
O que vai diferenciar acima de qualquer forma de conectar a um banco de dados é o tratamento de dados que são passados do usuário
Se você conseguir prever todas as falhas de SQL Injection e outros hacks de banco, acaba não importando se você utilizar PDO e mysqli
Que por si só já tem artifícios para proteger de possíveis injeções de código
Neste tópico eu comento sobre a questão de mysqli x PDO, vale a pena dar uma olhada para entender a real diferença entre as duas libs
Prepared statements
É um recurso presente na PDO para que os parâmetros de uma consulta não sejam inseridas nela diretamente
E sim preparados, para que se possa eliminar qualquer intenção maliciosa
E depois montados em uma query e aí sim aplicada ao banco
Veja um exemplo:
<?php
/* Execute a prepared statement by passing an array of values */
$sth = $dbh->prepare('SELECT name, colour, calories
FROM fruit
WHERE calories < ? AND colour = ?');
$sth->execute(array(150, 'red'));
$red = $sth->fetchAll();
$sth->execute(array(175, 'yellow'));
$yellow = $sth->fetchAll();
?>Retirado diretamente da documentação do PDO
Perceba que os question marks (?), futuramente serão substituídos pelos dados enviados pelo sistema e depois a query é executada, esta é a camada de segurança a mais do PDO
Já o mysql_* não tinha esta função, executando a query com os parâmetros que vinham da requisição e acarretando em problemas
Porém esta lib já foi descontinuada e não deve ser utilizada, e também perceba que não é a mesma coisa que mysqli
Conclusão
Neste artigo vimos se PDO é a maneira mais segura de conectar a um banco de dados
Que é sim mais segura que mysql_*, porém quase se equipara ao mysqli
Uma das grandes vantagens é o prepared statements, que dá a possibilidade da query ser preparada antes de ser executada
Possibilitando a remoção de qualquer injeção de código nesta etapa de preparação
Confira também nosso catálogo de cursos gratuitos, com aulas semanais no YouTube
Formações
Formação SAAS com IA
Tire usas ideias do papel criando softwares com IA, integre pagamentos e lance seu projeto!
- 291 aulas
- 18 projetos
- 24h 17min
Blog | Mais populares

As diferenças de var, let e const

Como fazer redirecionamento com PHP
Neste artigo você vai aprender a como fazer redirecionamento com PHP, utilizaremos abordagens fáceis de entender e de aplicar Fala programador(a), beleza? Bora aprender mais […]

ChatGPT: o que é, como usar, dicas e como acessar login
ChatGPT é uma ferramenta de processamento de linguagem natural (NLP) baseada na arquitetura GPT-3.5, desenvolvida pela OpenAI. Sua criação representa um marco significativo no campo […]

