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

martes, 3 de marzo de 2020

Importancia del .htaccess en una Página web

Para nadie es un secreto que todas las paginas web corren peligro en el mismo momento de estar al aire, dado a tantos ataques que ocurren a webs vulnerables y por esto recomiendo descargar el Software OWASP ZAP con el fin de descubrir los riesgos altos, medios y bajos de nuestra web.

Un paso muy importante en el momento de tener nuestra web es crear el .htaccess en nuestro directorio raiz para poder ingresar las restricciones o privilegios en un archivo oculto. Por ejemplo usando WindowsSCP para mostrar/ocultar el archivo utilizamos el comando ctrl+alt+h.

Para  impedir que se puedan ver los archivos o carpetas de nuestra web lo que hacemos es ingresar los siguiente:

   Options -Indexes

domingo, 1 de marzo de 2020

Cómo enviar por SQL un texto y conservar los saltos de línea

Dentro del código php  ponemos nl2br, el cual es un salto de línea para poder tomar los textos que enviamos por un formulario con los espacios que tiene este contenido. Para lograrlo hacemos lo siguiente:

 $texto=nl2br($_POST['texto']);  

Esto antes de hacer el insert en la base de datos SQL con la información que llenamos en el formulario del programa que hace el envío a este.

Recomiendo ver el manual https://www.php.net/manual/es/function.nl2br.php para ver más ejemplos del tema.

Enlaces recomendados

Autoincremento en Mysql para empezar a contar desde 1

La manera mas sencilla de hacer que el autoincremento en Mysql empiece desde uno es:

Truncate nombre_tabla

Para comenzar ocn el autoincremento en el número que queramos debemos ingresar por ejemplo

Alter Table nombre_tabla AUTOINCREMENT=10

Cómo imprimir los primeros caracteres de una cadena en Php

Creamos una función conocida como subst de 0 al número que deseamos poner límite.

$string= substr($string, 0, 100);

Luego de crear la función la ejecutamos para verificar que funciona correctamente imprimiendo un texto en el programa. 

echo $string

Recomiendo ingresar a Cómo usar PHP para desarrollar una web o software para conocer más sobre este lenguaje de programación.

lunes, 24 de febrero de 2020

Cómo tener permisos para hacer Upload en un servidor Linux

Recientemente, hemos visto que muchas personas al subir su página web o software a la medida han tenido problemas ya que localmente no hay inconvenientes para subir sus archivos de distintos tipos, pero en el momento de hacer la prueba en el servidor se encuentran con que no se ve reflejada la subida del archivo dentro de la carpeta upload o como le hayan llamado dentro del programa. Para esto tenemos la siguiente solución:


Abrimos el Putty para conectarnos, e ingresamos la sigiente línea

chmod -R 777 /usr//www/upload/  (La ruta cambia dependiendo donde se aloje la web en el servidor)

Luego de esto solo queda verificar en la web que si funcione el upload correctamente.

Blogs Colombia