Monografias.com > Computación > Programación
Descargar Imprimir Comentar Ver trabajos relacionados

Seguridad en desarrollo de sitios web con PHP y MySQL




Enviado por Pablo Turmero



Partes: 1, 2

    Monografias.com

    Seguridad en Desarrollo de sitios web con PHP y MySQL
    Seguridad en las aplicaciones web
    Seguridad en PHP
    Variables globales
    Nombres de ficheros
    Subida de ficheros
    Bibliotecas
    Formularios
    Inyección SQL

    Monografias.com

    Seguridad en las aplicaciones web
    ¿Cuánta seguridad es necesaria?
    La seguridad supone un coste económico y de eficiencia. Hay que disponer de la adecuada, ni más ni menos
    Reglas:
    El riesgo cero no es práctico
    Hay diversas formas de mitigar el riesgo
    No se puede gastar un millón para proteger un céntimo

    Monografias.com

    Seguridad en las aplicaciones web
    Amenazas más importantes: Top 10
    The Open Web Application Security Project (OWASP)The Ten Most Critical Web Application Security Vulnerabilities (2007) http://www.owasp.org/documentation/topten
    Cross Site Scripting (XSS)
    Injection Flaws
    Malicious File Execution
    Insecure Direct Object Reference
    Cross Site Request Forgery (CSRF)
    Information Leakage and Improper Error Handling
    Broken Authentication and Session Management
    Insecure Cryptographic Storage
    Insecure Communications
    Failure to Restrict URL Access

    Monografias.com

    Seguridad en las aplicaciones web
    Seguridad en el cliente
    Código móvil
    Seguridad en el servidor
    Servidor web, servidor de bases de datos, lenguajes de servidor
    Seguridad en la aplicación
    Control de acceso
    Validación de datos de entrada
    Programación segura
    Seguridad en la comunicación
    Certificados digitales, SSL

    Monografias.com

    Seguridad en PHP
    Primera recomendación:
    Disponer siempre de versiones actualizadas de Apache y PHP
    Aspectos de PHP que pueden dar lugar a vulnerabilidades:
    Variables globales
    Nombres de ficheros
    Subida de ficheros
    Bibliotecas
    Datos enviados desde formularios

    Monografias.com

    Variables globales
    Cuando register_globals está activado en el fichero php.ini, PHP crea automáticamente variables globales a partir de los datos de los formularios y de las cookies
    Esto puede dar lugar a problemas como en el ejemplo siguiente:
    < ?PHP
    if (comprueba_privilegios())
    $superuser = true;

    ?>

    Monografias.com

    Variables globales
    Una llamada a este script de la forma
    pagina.php?superuser=1
    permitiría obtener privilegios de superusuario
    Para resolver este problema existen tres soluciones:
    Deshabilitar register_globals en el fichero php.ini
    Inicializar las variables
    Establecer el orden de las variables en PHP

    Monografias.com

    Variables globales
    Deshabilitar register_globals en el fichero php.ini
    La directiva register_globals del fichero php.ini establece si se admite o no la creación automática de variables globales
    A partir de PHP 4.2.0 el valor por defecto de esta directiva es off, que es el valor recomendable

    Monografias.com

    Variables globales
    Inicializar las variables
    El problema anterior se soluciona dando un valor inicial a la variable $superuser:
    < ?PHP
    $superuser = false;
    if (comprueba_privilegios())
    $superuser = true;

    ?>

    Monografias.com

    Variables globales
    Inicializar las variables
    Es recomendable inicializar todas las variables antes de usarlas. Se puede usar la directiva error_reporting=E_ALL en php.ini para que se muestre un aviso cuando se use una variable que no haya sido previamente inicializada
    En un entorno de producción debe evitarse la aparición de mensajes de aviso o error. Para ello se utilizan las siguientes directivas en php.ini:
    display_errors = off
    log_errors = on
    error_log = /var/log/php_errors.log
    Los errores irán al fichero especificado en lugar de mostrarse en la pantalla

    Monografias.com

    Variables globales
    Establecer el orden de las variables en PHP
    PHP crea automáticamente variables globales a partir del entorno (E), las cookies (C), la información del servidor (S) y los parámetros GET (G) y POST (P)
    La directiva variables_order controla el orden de estas variables. El valor por defecto es “EGPCS”
    Permitir la creación de variables globales desde parámetros GET y POST y desde cookies es potencialmente peligroso. Un posible valor para variables_order que evita esto es “ES”
    En tal caso para acceder a los parámetros de los formularios y a las cookies se deben utilizar los arrays globales $_REQUEST, $_GET, $_POST y $_COOKIES

    Monografias.com

    Variables globales
    Establecer el orden de las variables en PHP
    Si se modifican las directivas register_globals y/o variables_order es preciso revisar los scripts existentes para adaptarlos a las nuevas circunstancias
    Una forma puede ser la siguiente:
    $edad = $_REQUEST[‘edad’];

    Partes: 1, 2

    Página siguiente 

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter