Seguridad bajo PHP y MySQL

27 de August, 2008. Escrito por [Q]boss en PHP + MySQL, Recursos

MySQL y PHP seguridad SQL injections
Por motivos del trabajo, últimamente nos hemos tenido que mirar bastante información sobre seguridad en PHP, ya la realidad es que es muy fácil saltarse las barreras de seguridad de una web si no se toman medidas para evitarlo.

La buena noticia es que hay medidas bastante simples que se pueden tomar y que ayudan bastante a eliminar un alto índice de atacantes que emplean técnicas tradicionales. La mala noticia es que la seguridad nuca será algo infalible.

Para el caso de PHP existen 2 recomendaciones fundamentales para evitar la inyección de SQL, que es uno de los ataques más habituales y sencillos de realizar, normalmente sobre campos de búsqueda ya que implican siempre el uso de la cláusula WHERE y por tanto un camino sencillo para meter código SQL sin errores.

1) uso de funciones que comprueben los tipos de datos recibidos, para asegurarnos que lo que vamos a usar en la consulta es del tipo que tiene que ser. Esto se puede complementar con control de longitudes en caso de strings, ya que si el campo es de unos 10 caracteres de tipo texto, limitando a eso podemos evitar inserción de consultas por el mero hecho del tamaño del string.

2) uso de funciones que controlan el escape de caracteres de forma correcta. Hace tiempo en PHP se usaba el addslashes y stripslashes, o las famosas magic_quotes, pero con el tiempo por motivos de eficiencia y efectos secundarios, las funciones recomendadas son las siguientes:

Versiones de PHP inferiores a la 4.3 - mysql_escape_string
Versiones de PHP iguales o superiores a la 4.3 - mysql_real_escape_string

Entre todos los recursos que nos hemos ido encontrando y estudiando, estos son los que creemos más elaborados, fiables y útiles. Esperamos que os sirvan como lo están haciendo con nosotros (vais a ver que los tópicos que tratan son recurrentes pero no está de más los detalles que se pueden sacar de cada uno de ellos).

Seguridad en PHP

Comments

2 Responses to “Seguridad bajo PHP y MySQL”

  1. Tecnorama on August 29th, 2008 2:44 pm

    Dreamweaver utiliza una función muy bonita llamada GetSQLValueString(valor,tipo) muy útil para estas situaciones y bastante personalizable.

  2. George el ermitaño on October 12th, 2008 9:51 pm

    Buen articulo, muchos programadores dejamos inconsientemente huecos que pueden ser aprovechados por hacker, estos tips son importantes para evitar eso. Saludos… sigan adelante

Leave a Reply