Вы находитесь на странице: 1из 7

UD3: EL LENGUAJE PHP

1) Modelo Cliente-Servidor
Todos los servicios que ofrece Internet se basan en la arquitectura clienteservidor. En internet se pueden encontrar dos tipos de equipos conectados:
Servidores
o Ordenadores que ofrecen sus servicios.
o Direccin IP fija
o En ellos estn alojados las pginas Web
Clientes
o Los usuarios utilizan los equipos para conectarse a la Red y
solicitar servicio a los servidores.
o Direccin IP dinmicas.
Programa Servidor
o Programa que debe estar ejecutndose en el servidor para
ofrecer un servicio.
o Programa ms conocido es el Apache.
Programa Cliente
o Software en el equipo cliente para tener acceso al servicio.
2) PHP, procesamiento de formularios en el Servidor
PHP es un lenguaje interpretado del lado del servidor que se caracteriza por su
potencia, versatilidad, robustez y modularidad.
Los programas escritos en PHP son embebidos directamente en el cdigo HTML
y ejecutados por el servidor web a travs de un intrprete antes de transferir al
cliente que lo ha solicitado un resultado en forma de cdigo HTML.
PHP permite realizar una multitud de tareas tiles para el desarrollo web. Entre
otras:
Funciones de correo electrnico que pueden ser utilizadas para
programar completos sistemas de correo electrnico va web.
Funciones de administracin y gestin de bases de datos especficas para
la mayora de gestores comerciales y funciones para conexiones ODBC
con bases de datos.
Funciones de gestin de directorios y ficheros, incluso para la
transferencia mediante FTP.
Funciones de tratamiento de imgenes y libreras de funciones grficas.
Funciones de generacin y lectura de cookies.
Funciones para la generacin de documentos PDF.
Para empezar a programar en PHP es conveniente tener un servidor web y
un intrprete de PHP.
Una opcin sencilla de instalar en XAMPP una distribucin de Apache
completamente gratuita que contiene MySQL, PHP y Perl.
Una vez instalado en el equipo, solo hay que escribir un fichero con
extensin .php, colocarlo en el directorio adecuado (normalmente \xampp\htdocs) y
visualizarlo en local (localhost/prueba.php).

Para incrustar cdigo PHP entre el cdigo HTML hay que meter el cdigo PHP
entre las etiquetas <?php y ?>, todo lo que queda fuera es HTML puro. El
intrprete de PHP sustituir esa parte de contenido de la pgina por el resultado de
la ejecucin del script, creando as una pgina HTML dinmicamente.
La sintaxis del lenguaje PHP es muy similar a la de otros lenguajes conocidos
como C o Perl, algunos aspectos iniciales sobre la sintaxis que deben ser
considerados, son:
Permite que las sentencias estn escritas en cualquier combinacin de letras
maysculas y minsculas, con la excepcin del nombre de las variables.
Se pueden colocar todos los espacios en blanco y cambios de lnea
que se deseen con objeto de hacer ms legible el cdigo fuente, ya
que son ignorados por el intrprete de PHP.
Cada sentencia PHP se debe terminar con ;.
Las instrucciones se pueden partir en tantas lneas como se desee.
En una misma lnea se pueden colocar varias instrucciones separadas
por ;.
Los comentarios se pueden hacer con // hasta el final de lnea, o
con /* y */.
Tipos de Datos:
Nmeros enteros: los enteros pueden ser dados en base decimal, en
base octal (un 0 inicial) o en base hexadecimal (con 0x inicial).
Nmeros en coma flotante: se pueden dar en dos formatos, como
parte entera y decimal separada por un punto o en notacin
cientfica.
Cadenas de caracteres: se pueden usar comillas dobles o comillas
simples.
Arrays o matrices: colecciones de datos que se referencian bajo un
nombre comn.
Objetos: PHP admite tambin la posibilidad de crear objetos y realizar
acciones con ellos.
Variables
Algunas de las peculiaridades de las variables en PHP son:
No es necesario declarar explcitamente las variables, sino que basta
con utilizarlas cuando se necesite.
Las variables no tienen un tipo predefinido, puede asignarse cualquier
tipo de valor.
La asignacin de valores a las variables se realiza utilizando el signo
=.
Los nombres de las variables en PHP siempre comienzan por el signo
$.
Se pueden utilizar nombres de variables de cualquier longitud,
formados por letras, dgitos y signos de subrayado, pero nunca
comenzando por un dgito. Entre las letras que pueden utilizarse se
encuentran los caracteres cuyo cdigo ASCII se encuentre entre 127

y 255, por lo que se pueden utilizar letras acentuadas o en los


nombres de las variables.
En los nombres de las variables s se distingue entre el uso de
maysculas y minsculas, de manera que $variable y $VARIABLE
sern variables diferentes.
Una misma variable se puede reutilizar asignndole a lo largo del
tiempo datos incluso de distinto tipo.
Hay una serie de funciones para obtener informacin acerca de las variables:
gettype() devuelve el tipo de la variable.
is_array() determina si la variable contiene un array.
is_float() determina si la variable contiene un nmero en coma flotante.
is_int() determina si la variable contiene un nmero entero.
is_object() determina si la variable hace referencia a un objeto.
is_string() determina si la variable contiene una cadena de caracteres.
isset() permite averiguar si una variable ha sido definida.
unset() permite eliminar una variable y liberar el espacio de memoria
reservado para ella.
empty() permite saber si una variable existe pero tiene un valor nulo o
vaco.

Constantes
Se realiza con una funcin define().
Una vez definidas su valor no puede cambiarse.
Por convenio se suelen utilizar identificadores con letras maysculas para las
constantes. Una constante definida en un documento ser accesible desde
cualquier punto del script que est en el mismo documento.
Cadenas de Caracteres
Las cadenas de caracteres pueden aparecer entre comillas simples o dobles.
Con las comillas dobles, las variables dentro de la cadena se expanden, es
decir, se sustituyen por su valor.
Con las comillas simples las variables no se expanden y las nicas
secuencias de escape reconocidas son \\ y \.
Las cadenas de caracteres son un caso especial de Array.
Operadores

Aritmtricos
Asignacin
Bit
Comparacin
Lgicos
Otros Operadores
o Condicional
o Concatenacin
o Conversin de Tipo

Sentencias de Control

Bsicamente las sentencias de control se clasifican en dos grandes bloques:


Estructuras condicionales.
o Permiten ejecutar porciones de cdigo
o Son:
Sentencia If
Switchcas
Estructuras iterativas.
o While
o DoWhile
o For
o ForEach
o Break y Continue
Array
Un array o matriz es un conjunto de datos que se almacenan bajo un nombre
comn y a los que se puede acceder utilizando uno o ms ndices.

3) Procesado de Formularios

Los formularios de HTML constituyen el primer mecanismo de interaccin entre


las pginas web y el usuario. Para indicar la accin a realizar con esos datos se
utiliza el atributo action de la etiqueta <form> de la siguiente forma:
<form action=procesar.php> </form>
Cada uno de los datos que el usuario introduzca en el formulario estar
asociado al correspondiente campo del mismo, mediante el atributo name.
Los datos que el usuario introduce en un formulario pueden ser enviados de una
forma sencilla a un programa PHP para su procesamiento. Precisamente esta
sencillez y facilidad de interaccin con los formularios HTML es una de las
caractersticas ms destacadas del lenguaje PHP.
Los datos que el usuario introduzca en un formulario de una pgina web pueden
ser transferidos al servidor para su procesamiento con dos mtodos diferentes:
Mtodo GET: los datos son enviados dentro del URL de localizacin del
destino.
Mtodo POST: los datos son enviados de manera invisible para el usuario
(concretamente en el cuerpo de la peticin, no en la cabecera).

Es aconsejable utilizar el mtodo POST cuando se estn transfiriendo datos


sensibles como contraseas, nombres de usuario
4) Seguridad en aplicaciones Web
Los riesgos evidentes para un fallo de seguridad es que las personas no
autorizadas:
Pueden acceder a la informacin restringida
Pueden ser capaces de escalar sus privilegios con el fin de poner en peligro
la aplicacin y todo el entorno de aplicacin
Las principales clases de vulnerabilidades de las aplicaciones web son:
Autenticacin (contraseas poco seguras, contraseas sin encriptar, usuarios
pblicos).
Gestin de la sesin (cifrado SSL dbil, informacin proporcionada utilizando
el mtodo GET, certificados con firma, claves y contraseas inseguras,
proceso de recuperacin de contrasea, autocompletar habilitado en los
campos de contrasea, identificadores de sesin que no son aleatorios o
demasiado cortos).
Control de acceso (respuesta HTTPS en cach, informacin sensible en
comentarios HTML, descripcin del tipo de servidor HTTP y la versin,
expiracin de sesin insuficiente, cookies inseguras).
Validacin de entrada (falta de validacin de entrada permitiendo la
ejecucin automtica de scripts, formularios enviados utilizando el mtodo
GET).
Redirecciones y forwards a sitios inseguros (aplicacin susceptible a ataques
de fuerza bruta).

Errores de inyeccin (inyeccin SQL, inyeccin de un enlace, vulnerabilidad


de inyeccin en el encabezado HTTP).
Vista no autorizada de datos (divulgacin del cdigo fuente de aplicaciones
web, enumeracin de directorios web, los archivos temporales permanecen
en el entorno, VIEWSTATE sin cifrar, servidor web obsoleto, parmetros de
consulta en solicitud SSL).
Manejo de errores.
Cross-site scripting (XSS).
Configuraciones de seguridad incorrectas.
Negacin de servicio.
Problemas de seguridad relacionados (almacenamiento de datos).

Para cada una de estas vulnerabilidades existen medidas que se pueden


tomar.
Por poner un ejemplo, en el caso de la autenticacin las medidas pueden
ser:
Fortaleza de la contrasea: las contraseas deben tener restricciones que
requieran un tamao y complejidad mnima. La complejidad normalmente
implica la combinacin de caracteres alfabticos, numricos y/o no
alfanumricos (por ejemplo, al menos uno de cada uno) en una contrasea.
Uso de la contrasea: los usuarios deben limitarse a un cierto nmero de
intentos de conexin por unidad de tiempo.
Mensajes de error no descriptivos: el sistema no debe indicar si era el
nombre de usuario o la contrasea los que no eran correctos en un intento
de conexin fallido.
Notificacin de intentos de inicio de sesin fallidos: los usuarios deben ser
informados de la fecha/hora del ltimo inicio de sesin correcto y el nmero
de intentos fallidos para acceder a su cuenta desde entonces.
Los controles de cambio de contrasea: los usuarios deberan estar
obligados a cambiar peridicamente su contrasea y se debe impedir la
reutilizacin de contraseas anteriores. Debe haber requisitos para hacerlo,
incluyendo que los usuarios siempre deben estar obligados a proporcionar
tanto su contrasea antigua como la nueva al cambiar su contrasea.
Reautenticacin necesaria: se debe exigir la reautenticacin a intervalos de
tiempo especificados o cuando los usuarios se muevan entre pginas web.
Pruebas y aplicacin de autenticacin: la autenticacin y todos los caminos
posibles para eludirla se deben probar regularmente. Se debe cumplir una
poltica de privilegios de usuario, especificando qu usuarios pueden
autenticarse y qu no se les permite hacer.

Вам также может понравиться