*   >> Lectura Educación Artículos >> tech >> desarrollo web

Cómo proteger su página web php desde injection

sql

SQL Injection

Inyección SQL es la forma más común de la página web de hacking, sucede cuando un usuario afecta a su base de datos sin el permiso de uso de código SQL. Por ejemplo:.

Un sitio web vunerable tiene una página de inicio de sesión, el feild contraseña no está protegido de inyección de SQL, cuando un hacker ve esto, que tipo 'O' '=' en el feild contraseña

< p> El inicio de sesión se procesa como esto:

SELECT * FROM `` de los usuarios WHERE nombre = '$ nombre de usuario "y la contraseña =' $ password '

Ahora vamos a insertar nuestros valores:

SELECT * FROM `` de los usuarios WHERE nombre = 'admin' y la contraseña = '' O '' = ''

Tenga en cuenta que la comprobación de la contraseña ha sido pasado por alto.

Ahora el código dice para seleccionar cualquier usuario si la contraseña es igual a nada o nada es igual a nada, que siempre es cierto, por lo que este se seleccionará el primer usuario en la base de datos, que más comúnmente es la cuenta de administrador.

Así cómo a prevenir estos ataques?

Hay muchos métodos para prevenir una inyección SQL, algunos son más fáciles y mejor, pero creo que su mano para saber más de una. Básicamente, la idea principal es detener o codificar el apostrophy

Método 1 -.

Addslashes ()

En la codificación hay una función llamada addslashes php. Esta función añade barras invertidas antes de que los personajes que podrían causar daño a su base de datos, o engañar en dar información Wrog. Un ejemplo se puede ver a continuación:

¿Quién es ese hombre? se inserta en la base de datos como ¿Quién es ese hombre? (Esta no es la base de datos segura)

Cuando se utiliza addslashes:

addslashes (? ¿Quién es ese hombre) se insertan en la base de datos como quién \\ 's que el hombre? (esto es seguro base de datos)

Tener una barra invertida antes de la 'significa que la base de datos no lo reconoce código sql como válido, y simplemente lo ignora

Método 2 -.

cifrado

< . p> Encryption significa que la información que se envía a través se cifran antes se envía a la base de datos para la validación, esto significa que la información en la base de datos también debe ser encryped sin embargo

Algunas formas de cifrado incluyen:

  • md5 ()

  • sha1 ()

  • AES_ENCRYPT ()

    Los dos primeros son bien para sitios web básicos, donde la información que se está cifrad

    Page   <<       [1] [2] [3] >>
  • Copyright © 2008 - 2016 Lectura Educación Artículos,https://lectura.nmjjxx.com All rights reserved.