Guía de seguridad en PHP (Capítulo primero)

Introducción

El objetivo de este documento es que el programador que lo lea adquiera unas nociones básicas (y no tan básicas) sobre seguridad que pueda aplicar a la hora de hacer sus aplicaciones. La mayoría de temas que aquí se presentan son temas reales, que se producen al no tener el programador tales nociones. La mayoría de temas en los que se va a basar el documento están orientados al uso en páginas web.

Entiendo como usuario malintencionado aquel que busca en nuestra aplicación fallas de seguridad y las explota por puro aburrimiento, sin ánimo de reportar esos fallos al programador para que puedan ser subsanados (hay gente que lo hace).

La mejor forma de protegerse es no confiar nunca en cualquier valor que no sea fijo. Si no estás seguro de que una variable va a tener el valor que esperas, o que una llamada a unlink() borra el archivo que quieres, asegúrate, pues puede ser por ahí por donde empiece un ataque.

Asegurarse no consiste en ejecutar el script y decir "uy, esto funciona como espero", sino que hay que agotar todas las posibilidades de ataque antes de subir tu página al servidor definitivo.

Cómo leerlo

El documento presupone ciertos conocimientos de PHP, y que el lector sea capaz de poner atención al leer, por lo que se pide encarecidamente que, en caso de que la tengas puesta, quites la música y prestes total atención a lo que hay escrito.

Los bloques de código son ejemplos: los habrá que funcionen y que no. Hay ejemplos de lo que hay que hacer, y también de lo que no hay que hacer, todo con el objetivo de que el lector aprenda a arreglar sus errores viendo código de otra persona.

A lo largo de todo el documento se podrán ver ejemplos que presentan fallos de seguridad, debido a una mala configuración de PHP o un mal uso de las llamadas a las variables.

En otros casos verás ejemplos cuyo código tiene en cuenta los principales aspectos de seguridad. Es muy importante que NO copies y pegues directamente estos códigos en tu página. Antes debes comprender todo lo que se explique para poder aplicarlo.

Resumen

Una pequeña guía con una serie de ejemplos y consejos para aumentar la seguridad y ser conscientes de los riesgos que hay al publicar nuestra página.

Índice

  1. Introducción
  2. Directivas de configuración
  3. Nomenclatura de archivos
  4. Errores

Otros artículos