miércoles, 4 de marzo de 2020

Como proteger tu web de SQL injection con Mysqli

Para mejorar la seguridad de tu sitio web, es recomendable tener prioridad en revisar las consultas sql, las cuales son vunerables en el momento de crear una web y eslo lo podemos hacer por PDO o por Mysqli, dependiendo de cual versión usamos en PHP. Lo más recomendable es dejar de usar Mysql ya que está en este momento obsoleto y ya no es tan seguro. Es necesario migrar a Mysqli.  A continuación podemos ver un ejemplo para que puedan ejecutar en localhost:

<?php
try {
    $conn = new mysqli('localhost', 'root', '','bd');

    echo "Connected successfully";
    }
catch(PDOException $e)
    {
    echo "Connection failed: " . $e->getMessage();
    }
    //MySQLi,
  class Usuario {
  public $id;
  public $fecha;
  public $titulo;

  public function info(){
//devolvemos resultados de estos campos de la tabla
    return '#' . $this->id . ': ' . $this->fecha . ' ' . $this->titulo;
  }
}
    $query = "SELECT * FROM tabla";
if ($result = $con->query($query)) {
  while ($user = $result->fetch_object('Usuario')) {
    echo $user->info() . "\n";
  }
}
// mysqli,
$query = $con->prepare('SELECT * FROM tabla WHERE id = ?');
$query->bind_param('s', $_GET['id']);
$query->execute();
 $result = $query->get_result();
    while ($row = $result->fetch_assoc()){
       //aquí se imprime los resultados de los campos seleccionados
    }
?>

Recomiendo visitar el artículo https://cursos.mejorcodigo.net/article/pdo-vs-mysqli-cuales-son-las-diferencias-37 en donde se aprendió a realizar este tipo de código para mejorar la seguridad en nuestras páginas web.

Enlace Relacionado

No hay comentarios:

Publicar un comentario

Blogs Colombia