Este documento trata sobre la seguridad en PHP y presenta 6 temas principales: 1) variables globales, 2) nombres de ficheros, 3) subida de ficheros, 4) bibliotecas, 5) formularios y 6) configuración de PHP a través del fichero php.ini. El documento ofrece recomendaciones como deshabilitar register_globals, validar los nombres de ficheros, limitar el tamaño de subida de ficheros, almacenar bibliotecas fuera de la raíz web y usar htmlspecialchars() en datos de formularios.
Este documento discute varios temas importantes de seguridad al desarrollar aplicaciones web con PHP y MySQL. Recomienda validar todos los datos de entrada, configurar PHP de forma segura a través de php.ini, y seguir buenas prácticas de programación. En particular, enfatiza la importancia de prevenir inyección SQL y otros ataques al validar adecuadamente los datos antes de usarlos en consultas de base de datos.
Este documento discute varios temas relacionados con la seguridad en aplicaciones web desarrolladas con PHP y MySQL. En particular, cubre la seguridad de variables globales, nombres de archivos, carga de archivos, bibliotecas, formularios e inyección SQL. La recomendación principal es validar todos los datos de entrada para aceptar solo valores válidos conocidos y rechazar valores no válidos, así como configurar adecuadamente PHP a través del archivo php.ini.
Este documento discute varios temas relacionados con la seguridad en aplicaciones web desarrolladas con PHP y MySQL. En primer lugar, explica las principales amenazas a la seguridad como inyección SQL, cross-site scripting y otros. Luego, cubre aspectos específicos de PHP como variables globales, nombres de archivos, carga de archivos y formularios. Finalmente, recomienda validar todos los datos de entrada, configurar adecuadamente PHP a través del archivo php.ini y seguir buenas prácticas de programación para garantizar la seguridad.
Este documento trata sobre el acceso a bases de datos MySQL desde PHP. Explica cómo instalar y configurar MySQL, crear bases de datos y tablas mediante lenguaje SQL, y cómo conectarse a la base de datos y realizar consultas desde PHP utilizando funciones como mysql_connect(), mysql_query() y mysql_fetch_array(). También presenta la herramienta phpMyAdmin para administrar bases de datos de forma gráfica.
Este documento describe la instalación y configuración de PHP y MySQL en diferentes sistemas operativos, así como una introducción a los conceptos básicos de PHP como variables, operadores, sentencias de control y el uso de formularios y archivos. También cubre la conexión a bases de datos MySQL desde PHP y realizar operaciones básicas como añadir, modificar y borrar registros.
Este documento describe los pasos para configurar PHP 4.4.2 en Windows, incluyendo copiar el archivo php4ts.dll al directorio del sistema, modificar el archivo php.ini-dist y guardarlo como php.ini, establecer la ubicación de los archivos y extensiones, y probar la configuración con un script PHP simple.
Este documento proporciona una introducción a los sistemas operativos Unix/Linux, incluyendo cómo iniciar sesión, cambiar contraseñas, usar comandos básicos como ls, cd y pwd, crear, mover y borrar archivos y directorios, compilar y ejecutar programas Fortran, y establecer permisos de archivos. También cubre editores de texto como nano y vi, y proporciona un ejemplo completo de cómo calcular un factorial en Fortran.
El documento proporciona una guía paso a paso para instalar Apache, PHP y MySQL en Windows y Linux/Unix. Explica cómo descargar e instalar los programas, configurar las variables y parámetros, y comprobar la instalación mediante la creación de un script PHP simple.
Este documento discute varios temas importantes de seguridad al desarrollar aplicaciones web con PHP y MySQL. Recomienda validar todos los datos de entrada, configurar PHP de forma segura a través de php.ini, y seguir buenas prácticas de programación. En particular, enfatiza la importancia de prevenir inyección SQL y otros ataques al validar adecuadamente los datos antes de usarlos en consultas de base de datos.
Este documento discute varios temas relacionados con la seguridad en aplicaciones web desarrolladas con PHP y MySQL. En particular, cubre la seguridad de variables globales, nombres de archivos, carga de archivos, bibliotecas, formularios e inyección SQL. La recomendación principal es validar todos los datos de entrada para aceptar solo valores válidos conocidos y rechazar valores no válidos, así como configurar adecuadamente PHP a través del archivo php.ini.
Este documento discute varios temas relacionados con la seguridad en aplicaciones web desarrolladas con PHP y MySQL. En primer lugar, explica las principales amenazas a la seguridad como inyección SQL, cross-site scripting y otros. Luego, cubre aspectos específicos de PHP como variables globales, nombres de archivos, carga de archivos y formularios. Finalmente, recomienda validar todos los datos de entrada, configurar adecuadamente PHP a través del archivo php.ini y seguir buenas prácticas de programación para garantizar la seguridad.
Este documento trata sobre el acceso a bases de datos MySQL desde PHP. Explica cómo instalar y configurar MySQL, crear bases de datos y tablas mediante lenguaje SQL, y cómo conectarse a la base de datos y realizar consultas desde PHP utilizando funciones como mysql_connect(), mysql_query() y mysql_fetch_array(). También presenta la herramienta phpMyAdmin para administrar bases de datos de forma gráfica.
Este documento describe la instalación y configuración de PHP y MySQL en diferentes sistemas operativos, así como una introducción a los conceptos básicos de PHP como variables, operadores, sentencias de control y el uso de formularios y archivos. También cubre la conexión a bases de datos MySQL desde PHP y realizar operaciones básicas como añadir, modificar y borrar registros.
Este documento describe los pasos para configurar PHP 4.4.2 en Windows, incluyendo copiar el archivo php4ts.dll al directorio del sistema, modificar el archivo php.ini-dist y guardarlo como php.ini, establecer la ubicación de los archivos y extensiones, y probar la configuración con un script PHP simple.
Este documento proporciona una introducción a los sistemas operativos Unix/Linux, incluyendo cómo iniciar sesión, cambiar contraseñas, usar comandos básicos como ls, cd y pwd, crear, mover y borrar archivos y directorios, compilar y ejecutar programas Fortran, y establecer permisos de archivos. También cubre editores de texto como nano y vi, y proporciona un ejemplo completo de cómo calcular un factorial en Fortran.
El documento proporciona una guía paso a paso para instalar Apache, PHP y MySQL en Windows y Linux/Unix. Explica cómo descargar e instalar los programas, configurar las variables y parámetros, y comprobar la instalación mediante la creación de un script PHP simple.
El documento describe cómo manejar archivos con PHP. Explica cómo subir archivos al servidor usando formularios HTML, obtener información sobre archivos subidos en la variable $_FILES, y mover archivos temporales a su ubicación final. También cubre cómo abrir, leer, escribir y cerrar archivos, incluyendo diferentes modos de apertura y ejemplos de código para cada operación.
Este documento proporciona un tutorial completo sobre PHP y MySQL. Explica cómo instalar Apache, PHP y MySQL en Windows y Linux, y cubre temas como la sintaxis básica de PHP, el uso de variables, constantes y operadores, la creación de formularios, el acceso a archivos y bases de datos con MySQL.
Este documento proporciona una introducción a PHP, incluyendo su historia, características, sintaxis básica, tipos de datos, variables, operadores, estructuras de control, funciones y orientación a objetos. También explica cómo configurar un servidor Apache para procesar páginas PHP.
El documento proporciona instrucciones para instalar Apache 2.0.58 en Windows. Explica que el proceso de instalación es similar a Apache 1.3.35, con pequeñas diferencias como seleccionar "Solo para el usuario actual" y "Típico" en lugar de "Completo". También indica cómo iniciar Apache.exe desde la carpeta bin y modificar el archivo de configuración httpd.conf para cambiar el puerto predeterminado de 8080 a 80 y el nombre de host predeterminado de "localhost: 8080" a "localhost".
Este documento describe los pasos para instalar y configurar un servidor LDAP utilizando OpenLDAP en CentOS/RHEL. Incluye instrucciones para instalar los paquetes necesarios, crear certificados SSL, configurar el archivo slapd.conf, y establecer el esquema y sufijo LDAP para autenticación en la red local.
Este documento describe 16 comandos de DOS y sus funciones y sintaxis. Algunos comandos como TYPE, COPY, REN, MOVE, DEL permiten ver, copiar, renombrar y eliminar archivos. Otros como FORMAT, CHKDSK, DISKCOPY y LABEL permiten formatear discos, comprobar su estado, copiar discos y asignar etiquetas. Finalmente, DEFRAG y SCANDISK optimizan y comprueban la integridad de datos en un disco.
Este documento explica cómo transferir archivos mediante formularios HTML en PHP. Primero, se debe crear un formulario con los métodos POST y multipart/form-data y un input tipo "file" para seleccionar el archivo. Luego, el script PHP asociado usa las variables $_FILES o $HTTP_POST_FILES para acceder a los detalles del archivo transferido y copiarlo a un directorio del servidor usando copy() o move_uploaded_file(). Se deben realizar comprobaciones de tamaño, tipo de archivo y errores.
Este documento explica las funciones básicas de PHP para acceder y manipular ficheros: fopen para abrir ficheros, fgets y fwrite para leer y escribir en ficheros, fclose para cerrar ficheros, y describe operaciones comunes como listar, añadir, borrar y modificar elementos en ficheros.
Este documento explica el uso de tuberías (pipes) en Linux para conectar la salida de un comando con la entrada de otro. Describe cómo usar el comando ls junto con less para ver el contenido de un directorio de forma pausada. También presenta comandos como sort, grep, wc, tee, uniq, head y tail para analizar y manipular la salida de otros comandos a través de tuberías.
Este documento describe los pasos para instalar tres gestores de base de datos: PostgreSQL, MySQL (usando PHPMyAdmin) y Oracle en Ubuntu 12. Incluye instrucciones como iniciar sesión como superusuario, descomprimir archivos, ejecutar comandos de instalación, configurar puertos y contraseñas, y acceder a las interfaces gráficas una vez instalados.
Este documento contiene 20 preguntas y respuestas sobre conceptos básicos de PHP y bases de datos MySQL. Algunas de las preguntas cubren temas como sintaxis básica de PHP, métodos GET y POST, funciones, operadores, creación y manipulación de tablas y datos en MySQL usando comandos como SELECT, INSERT, UPDATE, DELETE, y la conexión y procesamiento de resultados entre PHP y MySQL.
El documento describe las funciones de archivo en PHP como fopen(), fclose(), fread() y fwrite(). Explica cómo usar chdir(), mkdir() y rmdir() para cambiar de directorio y crear/eliminar directorios. También indica cómo especificar la ubicación y nombre de archivos y directorios, como usar php.ini para definir la ubicación predeterminada de archivos subidos.
Topicos Avanzados - Sesion Nº 04. Aqui empieza la programación desde cero con php y a ver toda la potencialidad de este lenguaje de programacion web interpretado.
Este documento explica las funciones include y require en PHP, las cuales permiten incluir archivos externos en el código, y la variable superglobal $_GET, que almacena los parámetros enviados a través de la URL. Include y require dividen el código en múltiples archivos, mientras que include_once y require_once evitan incluir archivos duplicados. La variable $_GET almacena los parámetros como un array asociativo que puede ser accedido para recuperar los valores enviados.
Este documento describe los operadores básicos en PHP, incluyendo operadores de asignación, aritméticos, de incremento/decremento, de concatenación, condicionales y lógicos. Explica la sintaxis de cada operador y proporciona ejemplos de su uso.
Este documento presenta una introducción a PHP, incluyendo:
1) Una breve historia de PHP desde su creación en 1995 hasta la versión actual.
2) Los elementos básicos del lenguaje como sintaxis, variables, tipos de datos, estructuras de control y funciones.
3) Cómo se puede incrustar código PHP en páginas web para procesar datos en el servidor antes de devolver el resultado al cliente.
Este documento presenta 7 ejemplos de código PHP con ejercicios de programación de dificultad creciente. Los ejemplos incluyen funciones para calcular expresiones matemáticas, imprimir tablas, contar palabras y letras en un texto, validar correos electrónicos y más. Al final se proponen 2 ejercicios adicionales para que los estudiantes los implementen y envíen la solución.
Este documento introduce PHP y explica cómo funciona un servidor web al procesar solicitudes de páginas estáticas y dinámicas. También cubre la historia de PHP, su instalación junto con Apache, y las diferencias entre dar dinamismo a páginas en el lado del cliente versus el servidor. El documento contiene capítulos sobre características de PHP, variables, tipos de datos, operadores, estructuras de control, funciones, entrada y salida de datos, y archivos. Finalmente, incluye un apéndice sobre HTML.
El documento presenta una introducción a la sintaxis básica y las estructuras de PHP, incluyendo etiquetas, tipos de datos, variables, constantes, operadores, estructuras de control y funciones predefinidas. Se explican conceptos como sensibilidad a mayúsculas, comentarios, impresión, funciones de tipo y cadena, bucles while y for, y funciones de fecha.
Este documento presenta las mejores prácticas para desarrolladores PHP, incluyendo el uso de IDEs como NetBeans y MySQL Workbench, estándares de nomenclatura y diseño de bases de datos, código estándar PHP siguiendo las pautas de Zend, y la documentación de código usando phpDocumentor. Se enfatiza seguir las guías de estilo de Zend y documentar clases, métodos y funciones para facilitar la colaboración y mantenimiento del código.
El documento trata sobre PHP y bases de datos MySQL. Explica dos métodos para conectarse a bases de datos MySQL desde PHP: PDO y MySQLi. PDO es una capa de abstracción que permite conectarse independientemente del motor de base de datos subyacente, mientras que MySQLi es específico para MySQL. Ambos permiten ejecutar consultas SQL de forma segura usando prepared statements para prevenir inyecciones SQL.
El documento describe cómo manejar archivos con PHP. Explica cómo subir archivos al servidor usando formularios HTML, obtener información sobre archivos subidos en la variable $_FILES, y mover archivos temporales a su ubicación final. También cubre cómo abrir, leer, escribir y cerrar archivos, incluyendo diferentes modos de apertura y ejemplos de código para cada operación.
Este documento proporciona un tutorial completo sobre PHP y MySQL. Explica cómo instalar Apache, PHP y MySQL en Windows y Linux, y cubre temas como la sintaxis básica de PHP, el uso de variables, constantes y operadores, la creación de formularios, el acceso a archivos y bases de datos con MySQL.
Este documento proporciona una introducción a PHP, incluyendo su historia, características, sintaxis básica, tipos de datos, variables, operadores, estructuras de control, funciones y orientación a objetos. También explica cómo configurar un servidor Apache para procesar páginas PHP.
El documento proporciona instrucciones para instalar Apache 2.0.58 en Windows. Explica que el proceso de instalación es similar a Apache 1.3.35, con pequeñas diferencias como seleccionar "Solo para el usuario actual" y "Típico" en lugar de "Completo". También indica cómo iniciar Apache.exe desde la carpeta bin y modificar el archivo de configuración httpd.conf para cambiar el puerto predeterminado de 8080 a 80 y el nombre de host predeterminado de "localhost: 8080" a "localhost".
Este documento describe los pasos para instalar y configurar un servidor LDAP utilizando OpenLDAP en CentOS/RHEL. Incluye instrucciones para instalar los paquetes necesarios, crear certificados SSL, configurar el archivo slapd.conf, y establecer el esquema y sufijo LDAP para autenticación en la red local.
Este documento describe 16 comandos de DOS y sus funciones y sintaxis. Algunos comandos como TYPE, COPY, REN, MOVE, DEL permiten ver, copiar, renombrar y eliminar archivos. Otros como FORMAT, CHKDSK, DISKCOPY y LABEL permiten formatear discos, comprobar su estado, copiar discos y asignar etiquetas. Finalmente, DEFRAG y SCANDISK optimizan y comprueban la integridad de datos en un disco.
Este documento explica cómo transferir archivos mediante formularios HTML en PHP. Primero, se debe crear un formulario con los métodos POST y multipart/form-data y un input tipo "file" para seleccionar el archivo. Luego, el script PHP asociado usa las variables $_FILES o $HTTP_POST_FILES para acceder a los detalles del archivo transferido y copiarlo a un directorio del servidor usando copy() o move_uploaded_file(). Se deben realizar comprobaciones de tamaño, tipo de archivo y errores.
Este documento explica las funciones básicas de PHP para acceder y manipular ficheros: fopen para abrir ficheros, fgets y fwrite para leer y escribir en ficheros, fclose para cerrar ficheros, y describe operaciones comunes como listar, añadir, borrar y modificar elementos en ficheros.
Este documento explica el uso de tuberías (pipes) en Linux para conectar la salida de un comando con la entrada de otro. Describe cómo usar el comando ls junto con less para ver el contenido de un directorio de forma pausada. También presenta comandos como sort, grep, wc, tee, uniq, head y tail para analizar y manipular la salida de otros comandos a través de tuberías.
Este documento describe los pasos para instalar tres gestores de base de datos: PostgreSQL, MySQL (usando PHPMyAdmin) y Oracle en Ubuntu 12. Incluye instrucciones como iniciar sesión como superusuario, descomprimir archivos, ejecutar comandos de instalación, configurar puertos y contraseñas, y acceder a las interfaces gráficas una vez instalados.
Este documento contiene 20 preguntas y respuestas sobre conceptos básicos de PHP y bases de datos MySQL. Algunas de las preguntas cubren temas como sintaxis básica de PHP, métodos GET y POST, funciones, operadores, creación y manipulación de tablas y datos en MySQL usando comandos como SELECT, INSERT, UPDATE, DELETE, y la conexión y procesamiento de resultados entre PHP y MySQL.
El documento describe las funciones de archivo en PHP como fopen(), fclose(), fread() y fwrite(). Explica cómo usar chdir(), mkdir() y rmdir() para cambiar de directorio y crear/eliminar directorios. También indica cómo especificar la ubicación y nombre de archivos y directorios, como usar php.ini para definir la ubicación predeterminada de archivos subidos.
Topicos Avanzados - Sesion Nº 04. Aqui empieza la programación desde cero con php y a ver toda la potencialidad de este lenguaje de programacion web interpretado.
Este documento explica las funciones include y require en PHP, las cuales permiten incluir archivos externos en el código, y la variable superglobal $_GET, que almacena los parámetros enviados a través de la URL. Include y require dividen el código en múltiples archivos, mientras que include_once y require_once evitan incluir archivos duplicados. La variable $_GET almacena los parámetros como un array asociativo que puede ser accedido para recuperar los valores enviados.
Este documento describe los operadores básicos en PHP, incluyendo operadores de asignación, aritméticos, de incremento/decremento, de concatenación, condicionales y lógicos. Explica la sintaxis de cada operador y proporciona ejemplos de su uso.
Este documento presenta una introducción a PHP, incluyendo:
1) Una breve historia de PHP desde su creación en 1995 hasta la versión actual.
2) Los elementos básicos del lenguaje como sintaxis, variables, tipos de datos, estructuras de control y funciones.
3) Cómo se puede incrustar código PHP en páginas web para procesar datos en el servidor antes de devolver el resultado al cliente.
Este documento presenta 7 ejemplos de código PHP con ejercicios de programación de dificultad creciente. Los ejemplos incluyen funciones para calcular expresiones matemáticas, imprimir tablas, contar palabras y letras en un texto, validar correos electrónicos y más. Al final se proponen 2 ejercicios adicionales para que los estudiantes los implementen y envíen la solución.
Este documento introduce PHP y explica cómo funciona un servidor web al procesar solicitudes de páginas estáticas y dinámicas. También cubre la historia de PHP, su instalación junto con Apache, y las diferencias entre dar dinamismo a páginas en el lado del cliente versus el servidor. El documento contiene capítulos sobre características de PHP, variables, tipos de datos, operadores, estructuras de control, funciones, entrada y salida de datos, y archivos. Finalmente, incluye un apéndice sobre HTML.
El documento presenta una introducción a la sintaxis básica y las estructuras de PHP, incluyendo etiquetas, tipos de datos, variables, constantes, operadores, estructuras de control y funciones predefinidas. Se explican conceptos como sensibilidad a mayúsculas, comentarios, impresión, funciones de tipo y cadena, bucles while y for, y funciones de fecha.
Este documento presenta las mejores prácticas para desarrolladores PHP, incluyendo el uso de IDEs como NetBeans y MySQL Workbench, estándares de nomenclatura y diseño de bases de datos, código estándar PHP siguiendo las pautas de Zend, y la documentación de código usando phpDocumentor. Se enfatiza seguir las guías de estilo de Zend y documentar clases, métodos y funciones para facilitar la colaboración y mantenimiento del código.
El documento trata sobre PHP y bases de datos MySQL. Explica dos métodos para conectarse a bases de datos MySQL desde PHP: PDO y MySQLi. PDO es una capa de abstracción que permite conectarse independientemente del motor de base de datos subyacente, mientras que MySQLi es específico para MySQL. Ambos permiten ejecutar consultas SQL de forma segura usando prepared statements para prevenir inyecciones SQL.
Este documento presenta varios algoritmos resueltos en pseudocódigo para introducir conceptos de diagramas de flujo y ordenamientos. Incluye ejemplos de algoritmos que ordenan números, comparan números y cadenas, calculan el mayor de tres números, y determinan si un año es bisiesto. El documento también advierte sobre posibles errores en la solución debido a las prisas y limitaciones del procesador de texto.
Este documento presenta un cuaderno de ejercicios y prácticas de PHP con 32 ejercicios que cubren temas como variables, operadores, condicionales, bucles, funciones, arrays, archivos, bases de datos y formularios. Cada ejercicio contiene código PHP con explicaciones y preguntas para comprender y practicar el tema correspondiente. El objetivo es que los estudiantes aprendan PHP de una manera práctica a través de la resolución de los diferentes ejercicios planteados.
Este documento presenta 15 problemas de programación resueltos utilizando pseudocódigo. Los problemas cubren temas como bucles, condicionales, manejo de números, cálculos y más. Cada problema contiene la descripción, el pseudocódigo de la solución y una breve explicación.
El documento presenta buenas prácticas de programación en PHP. Aborda consideraciones generales como asegurarse del tipo de datos, evitar usar "tags" cortas, emplear el modo estricto, usar excepciones, depuradores, evitar reinventar la rueda y seguir estándares de código. También cubre temas de seguridad y mejorar el rendimiento. Proporciona consejos útiles para escribir código PHP más limpio, robusto y eficiente.
El documento describe las etapas típicas del ciclo de vida de un sistema de información. Estas etapas incluyen la planificación, el análisis, el diseño, la implementación, las pruebas, la instalación y el mantenimiento. En la etapa de planificación, se delimita el alcance del proyecto, se realiza un estudio de viabilidad y un análisis de riesgos.
Ejemplos de algoritmos en C básicos (aprendiendo a programar)Kiim Kerrigan
1) El documento presenta 20 algoritmos en lenguaje C con ejemplos de código para calcular diferentes operaciones matemáticas y lógicas como promedios, áreas, conversiones de unidades, comparaciones y más.
2) Los algoritmos van desde cálculos simples como sumas y promedios hasta operaciones más complejas como determinar si un número está en un rango específico o calcular el costo de una llamada telefónica.
3) El documento provee el código completo en C para cada algoritmo junto con explicaciones breves sobre lo que cada programa calcul
El documento presenta conceptos básicos sobre el lenguaje de programación PHP, incluyendo variables, operadores aritméticos y de comparación, sentencias condicionales y bucles. También cubre temas como el manejo de cadenas, funciones, envío y recepción de datos a través de formularios, y el envío de correos electrónicos.
Este documento proporciona instrucciones para instalar Apache, PHP y MySQL en Windows y Linux/Unix. Explica cómo descargar e instalar los programas, configurar las variables y directorios correctos, y ejecutar los servicios. También incluye un ejemplo de script PHP "Hola Mundo" y una introducción a la sintaxis básica de PHP como variables, constantes y operadores.
Este documento proporciona instrucciones para instalar Apache, PHP y MySQL en Windows y Linux/Unix. Explica cómo descargar e instalar los programas, editar archivos de configuración y probar la instalación con un script PHP simple. También incluye una sección sobre sintaxis básica de PHP como variables, operadores y constantes.
Este documento proporciona instrucciones para instalar Apache, PHP y MySQL en Windows y Linux/Unix. Explica cómo descargar e instalar los programas, editar archivos de configuración y comprobar la instalación con un script PHP simple. También incluye una sección sobre sintaxis básica de PHP como variables, operadores y constantes.
633f9e tutorial de php y my sql completoMETROPOLITANO
Este documento proporciona instrucciones para instalar Apache, PHP y MySQL en Windows y Linux/Unix. Explica cómo descargar e instalar los programas, editar archivos de configuración y comprobar la instalación con un script PHP simple. También incluye una sección sobre sintaxis básica de PHP como variables, operadores y constantes.
Este documento proporciona instrucciones para instalar Apache, PHP y MySQL en Windows y Linux/Unix. Explica cómo descargar e instalar los programas, editar archivos de configuración y comprobar la instalación con un script PHP simple. También incluye una sección sobre sintaxis básica de PHP como variables, operadores y constantes.
Este documento proporciona instrucciones para instalar Apache, PHP y MySQL en Windows y Linux/Unix. Explica cómo descargar e instalar los programas, editar archivos de configuración y comprobar la instalación con un script PHP simple. También incluye una sección sobre sintaxis básica de PHP como variables, operadores y constantes.
Este documento proporciona instrucciones para instalar Apache, PHP y MySQL en Windows y Linux/Unix. Explica cómo descargar e instalar los programas, editar archivos de configuración y comprobar la instalación con un script PHP simple. También incluye una sección sobre sintaxis básica de PHP como variables, operadores y constantes.
Este documento proporciona instrucciones para instalar Apache, PHP y MySQL en Windows y Linux/Unix. Explica cómo descargar e instalar los programas, editar archivos de configuración y probar la instalación con un script PHP simple. También incluye una sección sobre sintaxis básica de PHP como variables, operadores y constantes.
Este documento describe PHP, un lenguaje de scripting para el desarrollo de aplicaciones web. PHP puede generar dinámicamente páginas HTML, procesar datos de formularios, acceder a bases de datos, y más. Se ejecuta en el servidor y devuelve el resultado al navegador como HTML. PHP tiene alternativas como CGI/Perl, ASP.NET y JSP.
El documento describe cómo manejar archivos BLOB (Binary Large Objects) con PHP y MySQL, incluyendo cómo crear una base de datos y tabla para almacenar archivos, agregar archivos a la base de datos, listar y descargar archivos almacenados. Se proporcionan ejemplos de código PHP sencillos para cada una de estas tareas.
Apache: instalación y configuración en Ubuntu Server y Windows ServerNombre Apellidos
Índice:
Instalación de Apache 2.2 en Ubuntu Server
Comprobación del funcionamiento del servidor Ubuntu en un cliente Windows
Instalación de Apache 2.2 en Windows Server 2008
Comprobación del funcionamiento del servidor Windows en un cliente Windows
Ficheros de configuración y directivas en Ubuntu Server
Ficheros de configuración y directivas en Windows Server
Configuración básica en Linux
Configuración básica en Windows
Módulos en Linux
Módulos en Windows
Control de acceso por IP y nombre de dominio
Autenticación y autorización Basic y Diges
Ficheros .htaccess
Ficheros de registros (logs)
Módulos mod_status y mod_info
Webalizer
Este documento proporciona un tutorial sobre cómo instalar PHP y MySQL en Windows y Linux/Unix, y explica los pasos para configurar Apache para usar PHP y conectarse a MySQL. También muestra un ejemplo de un script PHP básico y explica la sintaxis básica de PHP como delimitadores, comentarios y la instrucción echo.
Este documento describe PHP, un lenguaje de scripting para el desarrollo de aplicaciones web dinámicas. PHP se ejecuta en el servidor, generando páginas HTML que luego son devueltas al navegador. PHP permite generar contenido dinámico, acceder a bases de datos, procesar formularios y más.
Este documento proporciona una guía paso a paso para instalar Apache, PHP y MySQL en Windows y Linux/Unix. Explica cómo descargar e instalar los programas, configurar las opciones necesarias y comprobar la instalación mediante un script PHP simple. También incluye información sobre crear la base de datos de MySQL y definir extensiones de archivo para PHP.
Este documento explica cómo cargar archivos a un servidor PHP y procesarlos, incluyendo cómo configurar PHP, crear formularios de carga, acceder a los archivos cargados y moverlos a su ubicación permanente. También cubre temas como abrir, leer, escribir y eliminar archivos, y listar y navegar directorios.
Este documento describe cómo proteger directorios en Apache mediante archivos .htaccess. Primero, se modifica la configuración de Apache para permitir la herencia de archivos .htaccess. Luego, se crean archivos .htaccess que redireccionan errores y restringen acceso mediante usuarios y contraseñas almacenadas en archivos encriptados. Finalmente, se provee un ejemplo de .htaccess que protege un directorio requiriendo autenticación básica.
Este documento ofrece una introducción al lenguaje de programación PHP. Explica que PHP es un preprocesador de hipertexto que permite crear páginas web dinámicas de forma rápida integrando código en HTML. También resume algunas características clave de PHP como su sintaxis, tipos de datos compatibles, variables, seguridad y más.
El documento describe el framework KohanaPHP, un framework PHP ligero y flexible para desarrollar aplicaciones web. Explica que se basa en CodeIgniter y mejora el uso de objetos en PHP5. Resume las características principales como su diseño orientado a objetos, compatibilidad con UTF-8 y patrón MVC. También describe brevemente la instalación, directorios, URLs, controladores y librerías.
Este documento proporciona una introducción al framework CakePHP. Explica que CakePHP sigue el patrón MVC y requiere PHP y una base de datos. Detalla las carpetas y archivos clave de CakePHP así como sus convenciones para nombres, controladores, modelos, vistas y más, las cuales automatizan mucho del desarrollo.
Ofrecemos herramientas y metodologías para que las personas con ideas de negocio desarrollen un prototipo que pueda ser probado en un entorno real.
Cada miembro puede crear su perfil de acuerdo a sus intereses, habilidades y así montar sus proyectos de ideas de negocio, para recibir mentorías .
3. Introducción
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
4. 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;
...
?>
5. 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
6. 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
7. 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;
...
?>
8. 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
9. 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
10. 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’];
...
11. Nombres de ficheros
Es relativamente fácil construir un nombre de fichero que se
refiera a algo distinto a lo que se pretende
Sea el siguiente código:
include (“/usr/local/lib/bienvenida/$username”);
Este código pretende mostrar un mensaje de bienvenida
personalizado para el usuario. Aparentemente no es peligroso,
pero ¿qué ocurriría si el usuario introduce como nombre la
cadena “../../../../etc/passwd”?
– Se mostraría el fichero de passwords del sistema
12. Nombres de ficheros
Además hay que tener en cuenta que las funciones de manejo
de ficheros como include() o require() admiten nombres de
ficheros remotos, lo que podría provocar la ejecución de
código maligno cargado de otro servidor. Sea, por ejemplo, el
código
include ($libdir . “/conecta.php”);
Si un atacante modifica el valor de la variable $libdir a,
pongamos por caso, “http://atacante/”, y coloca en la raíz del
mismo un fichero de nombre conecta.php, su código sería
ejecutado
Se puede desactivar la funcionalidad de acceso a ficheros
remotos con la siguiente directiva en php.ini:
allow_url_fopen = off
13. Nombres de ficheros
Para chequear nombres de ficheros se utilizan las funciones
realpath() y basename(). La primera convierte direcciones
relativas en absolutas y la segunda toma una ruta y devuelve la
parte correspondiente al nombre del fichero. Ejemplo:
$file = $_POST[‘username’];
$file2 = basename (realpath($file));
if ($file2 != $file)
die (“$file no es un username válido”);
include (“/usr/local/lib/bienvenida/$file”);
14. Nombres de ficheros
Otra defensa contra los nombres de ficheros incorrectos es la
directiva de php.ini open_basedir:
open_basedir = /alguna/ruta
PHP limitará las operaciones sobre ficheros al directorio
especificado y sus subdirectorios:
include (“/alguna/ruta/lib.inc”); // permitido
include (“/otra/ruta/lib.inc”);
// da error
15. Subida de ficheros
La subida de ficheros permite a un usuario enviar cualquier
fichero al servidor, lo cual encierra un gran peligro ya que un
atacante puede subir un código maligno y luego ejecutarlo,
causando más daño que cuando se incluye el código desde un
servidor remoto
Como recomendación general, debe evitarse utilizar el nombre
enviado por el navegador (podría ser, por ejemplo,
/etc/passwd). Es conveniente generar un nombre único para el
fichero subido
16. Subida de ficheros
Otro peligro es el tamaño de los ficheros. Aunque se limite el
tamaño máximo en el formulario, los ficheros se reciben
automáticamente y luego se comprueba su tamaño
Es posible que un usuario intente provocar un ataque de
denegación de servicio enviando varios ficheros de gran
tamaño a la vez y llenando el sistema de ficheros utilizado por
PHP para almacenarlos
Para evitar esto se puede utilizar la directiva post_max_size de
php.ini. El valor por defecto suele ser más elevado de lo
necesario
17. Subida de ficheros
Sea ahora el siguiente código:
if (file_exists($file))
// chequea la existencia en
// el sistema local
include (“$file”);
Esto evitaría la inclusión de un fichero remoto aunque el
atacante controlase la variable $file
Sin embargo, el atacante podría crear su propio formulario
usando el nombre file para el campo de tipo fichero y al enviarlo
colocaría en el servidor un fichero cuyo código sería ejecutado
18. Bibliotecas
Es conveniente almacenar los ficheros de biblioteca fuera de la
raíz de la web para evitar que puedan ser accedidos por su
URL
En tal caso debe hacerse saber a PHP la ubicación de los
ficheros indicando la ruta completa en los include() y require() o
bien mediante la directiva include_path en php.ini
include_path = “.:/usr/local/php:/usr/local/lib/myapp”
Esto es particularmente importante cuando en el código de la
biblioteca aparecen passwords, como es el caso de las
funciones de conexión con bases de datos
19. Formularios
Es recomendable validar todos los datos provenientes de
formularios para asegurarse de que los valores recibidos son
los esperados
En general, cualquier información proveniente del exterior debe
contemplarse como posiblemente contaminada y debe ser
verificada antes de ser utilizada
Sea el siguiente ejemplo:
print (“Nombre: “ . $nombre);
print (“Comentario: “ . $comentario);
20. Formularios
Si el autor del comentario introdujo algún código HTML en el
texto del mismo, el código será interpretado y sus efectos
podrían ser graves
Para evitar esto se puede utilizar la función
htmlspecialchars(), que impide que se interpreten los
caracteres especiales de HTML (<, >, &)
El código quedaría de la siguiente manera:
print (“Nombre: “ . $nombre);
print (“Comentario: “ . htmlspecialchars($comentario));
21. Resumen
De todo lo anterior podemos concluir las dos recomendaciones
siguientes:
– Configurar adecuadamente PHP a través del fichero php.ini
– Seguir unas buenas prácticas en la programación
Hay que tener en cuenta que cualquier cambio en la
configuración de PHP afectará a los scripts de todos los
usuarios y posiblemente a algunas herramientas, lo cual debe
ser tenido en cuenta y estudiarse sus consecuencias antes de
proceder a realizarlos