LinuxParty
Seguridad en una aplicación PHP requiere de medidas de seguridad tanto locales como remotas. Descubrá los hábitos de los desarrolladores de PHP que implementan en las aplicaciones con ambas características.
Cuando se trata de seguridad, recuerde que además de la plataforma actual y el sistema operativo, necesita asegurarse de que usted escribe aplicaciones seguras. Al escribir aplicaciones PHP, estos siete hábitos para la creación de aplicaciones le ayudaran a asegurarse de que sus aplicaciones son tan seguras como sea posible:
* Validar la entrada
* Proteja su sistema de archivos
* Proteja su base de datos
* Proteja su período de sesiones de datos
* Vigilar vulnerabilidades cross-site scripting (XSS)
* Verificar las entradas
* Protege contra Cross-Site Request Forgeries (CSRF)
La validación de los datos, es el más importantes de los hábitos que usted pueda adoptar en lo que se refiere a la seguridad. Y cuando se trata de entradas, es simple: No confíe en los usuarios. Sus usuarios son probablemente buenas personas, y la mayoría son susceptibles de utilizar la aplicación exactamente como usted desea. Sin embargo, siempre que hay oportunidad para la entrada, también hay oportunidad para que realmente, exista una mala entrada. Como un desarrollador de aplicaciones, usted debe proteger su solicitud de malas entradas. Sea cuidadoso teniendo en cuenta donde sus usuarios validan las entradas, permitiendo el acceso a una robusta aplicación segura.
Aunque el sistema de archivos y base de datos de interacción están cubiertas, hay consejos generales de validación que cubren todo tipo de validación:
* Utilizar los valores que figuran en la lista blanca
* Siempre revalidar selecciones limitadas.
* Usa built-in escape functions
* Validar y corregir los tipos de datos, como los números
Las listas blancas figuran los valores que son válidos, en lugar de listas negras que enumeran los valores que no son válidos. La distinción es que, a menudo cuando se realiza la validación, la lista o rango de valores posibles es menor que la lista de valores no válidos, muchos de los cuales puede ser desconocido o inesperado. (es decir, para validarse use sólo letras y números (lista blanca), en vez de "vale todo menos, $, %, ... (listas negras))
Cuando estás haciendo la validación, recuerde que a menudo es más fácil conceptualizar y validar lo que permite la aplicación, en lugar de tratar de evitar todos los valores desconocidos. Por ejemplo, a los valores límite en un campo a todos los números, escribir una rutina que se asegura la entrada de todos los números. No escriba la rutina de búsqueda de valores no-numéricos y marca como no válida si se encuentra alguna.
Proteja su sistema de archivos
En julio de 2000, un sitio Web filtro los datos de los clientes que se encontró en los archivos en un servidor Web. A los visitantes del sitio Web manipulaban la dirección URL para ver los archivos que contienen los datos. Aunque los archivos se han colocado por error, este ejemplo pone de relieve la importancia de proteger su sistema de archivos contra los atacantes.
Si su aplicación PHP trabaja con archivos de datos variables, que un usuario puede entrar, debe tener cuidado de que la entrada del usuario no pueda hacer nada con el sistema de archivos al que no pertenezca. Listado 1 muestra un ejemplo de una página PHP que descarga una imagen a un nombre.
(LISTADO EN IBM.COM)
Como puede ver, la secuencia de comandos relativamente peligrosa en el Listado 1 sirve cualquier archivo que hubiera en el servidor Web y tenga acceso de lectura, incluyendo los archivos de la sesión de directorio (ver "Guardia de la sesión de datos") e incluso algunos archivos del sistema tales como:
/ etc / passwdEste ejemplo tiene un cuadro de texto en el que el usuario puede escribir el nombre del archivo, por ejemplo, pero el nombre del archivo igualmente podría ser suministrado en la cadena de consulta.
La configuración de acceso al sistema de archivos junto con las aportaciones de los usuarios es peligroso, así lo mejor en el diseño de su aplicación será una base de datos oculta, junto con los nombres de los archivos generados. Sin embargo, esto no es siempre posible. Listado de 2 proporciona un ejemplo de una rutina que valida los nombres de los archivos. Que utiliza expresiones regulares para asegurarse de que sólo se usan caracteres válidos en el nombre del archivo y los controles específios para los caracteres punto-punto . . (los que te permiten cambiar de directorio)
Listado 2. Comprobación de nombre de archivo válido caracteres
(LISTADO EN IBM.COM)
Continúa en ibm.com
-
Programación
- Thomas E. Kurtz, coinventor de BASIC, muere a los 96 años
- Profesor de informática del MIT prueba el impacto de la IA en la formación de programadores
- Lanzamiento del IDE de código abierto Qt Creator 14 con soporte para complementos basados en Lua
- Plantillas para Joomla - Episodio 1: Plantillas, marcos y clubes o no...
- Este es el mejor libro que he visto para aprender a programar en Python en castellano desde cero, gratis y online
- ¿Deberían los niños seguir aprendiendo a programar en la era de la IA?
- La 'obsolescencia' de VBScript confirmada por Microsoft y su eventual eliminación de Windows
- El Gran Debate: ¿Deberían los Modelos de Inteligencia Artificial Ser de Código Abierto?
- El lenguaje de programación BASIC cumple 60 años
- El CEO de Nvidia dice que los niños no deberían aprender a programar
- 40 años de Turbo Pascal: recuerdos del dinosaurio codificador que revolucionó los IDE
- Los lenguajes de programación más populares y dónde aprenderlos.
- Top 5 de los principales lenguajes de programación para desarrollar aplicaciones de escritorio Linux
- Qt Creator 12 lanzado con complementos de grabación de pantalla y Explorador de compiladores
- 10 sitios web para practicar problemas de programación