Sie sind auf Seite 1von 4

Consejos de Seguridad PHP

1. Asegurar que la directiva register_globals de php.ini se encuentre en Off


Qu podra suceder si lo anterior no es as?
Podra suceder que un usuario pase datos en variables no declaradas

Cmo poder resolver este problema?


Esta situacin podemos resolverla en dos pasos:
a. Asignando un valor por defecto a la variable (inicializar las variables), de esta forma
aunque se coloque un valor en la barra del navegador no se mostrar nada, y tomando en
cuenta que register_globals est en On.

b. Desactivar las variables globales dentro de php.ini


Hay que tomar en cuenta que esta directiva est por defecto desactivada desde PHP 4.2.0

En resumen lo anterior evita que haya una inyeccin de cdigo (inyeccin de valores) por
el mtodo GET
2. Desactivar los mensajes de error dentro de los entornos o instancias de produccin de
los sistemas.
Es aconsejable que los mensajes de error si estn activos dentro de las instancias de
desarrollo, pero no en produccin ya que pueden revelar alguna informacin a usuarios
que permitan hacer algn tipo de inyeccin de cdigo.

3. Seguridad dentro de los formularios

Como vemos en la captura del dato que hemos enviado desde el formulario se le ha
agregado la propiedad htmlentities(), la cual nos protege de inyeccin de cdigo que
puede ser malicioso o que nos pueda afectar en tablas de nuestra base de datos. Con esta
propiedad nos aseguramos de limpiar cualquiera de esas situaciones y validar nuestros
datos.
Podra darse el caso que en la caja de texto se agregue un cdigo JavaScript o una consulta
de MySQL.
Tambin podemos cubrir la parte de consultas y hacerlas ms seguras con la funcin:
addslashes();
4. Uso de Uso de sprintf y mysql_real_escape_string
Sintaxis:
String sprintf (string $format [, mi xed $args [, mixed $... ]] )

En PHP seria:

mysql_real_escape_string
Lo que hace esta funcin es escapar caracteres raros que no deban aparecer en una
consulta, tales como: &%.. etc.
Sintaxis:

El uso de sprintf y mysql_real_escape_string fue tomado de:

Por: Carlos Ernesto Lpez


Licencia Creative Commons

Das könnte Ihnen auch gefallen