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

Universidad Pontificia de Salamanca en Madrid Mster en Ingeniera de Software

MODULO 1 Desarrollo de Aplicaciones en Entorno .Net 1.- Fundamentos de las aplicaciones Web

Desarrollo de Aplicaciones en Entorno .Net


1.- Fundamentos de las aplicaciones Web
Mariano de la Fuente Jess Soto Universidad Pontificia de Salamanca

Master en Ingeniera del Software curso 2006/07

ndice
Componentes de una Aplicacin Web Comunicacin Cliente Servidor Ventajas e Inconvenientes de las Aplicaciones Web Concepto de Sesin Seguridad en las aplicaciones web
Desarrollo de Aplicaciones en Entorno .Net

2006, Mariano de la Fuente Jess Soto


Universidad Pontificia de Salamanca en Madrid

2006, Mariano de la Fuente Jess Soto

Universidad Pontificia de Salamanca en Madrid Mster en Ingeniera de Software

MODULO 1 Desarrollo de Aplicaciones en Entorno .Net 1.- Fundamentos de las aplicaciones Web

Componentes de una Aplicacin Web

Desarrollo de Aplicaciones en Entorno .Net

2006, Mariano de la Fuente Jess Soto


Universidad Pontificia de Salamanca en Madrid

Componentes - Cliente
Cualquier dispositivo con un navegador Web compatible. Realiza peticiones al servidor Recibe la respuesta en un determinado formato (Content-Type) Dibuja la pgina segn el cdigo recibido Ejecuta acciones en respuesta a eventos (Client-Side Scripting)
Desarrollo de Aplicaciones en Entorno .Net

2006, Mariano de la Fuente Jess Soto


Universidad Pontificia de Salamanca en Madrid

2006, Mariano de la Fuente Jess Soto

Universidad Pontificia de Salamanca en Madrid Mster en Ingeniera de Software

MODULO 1 Desarrollo de Aplicaciones en Entorno .Net 1.- Fundamentos de las aplicaciones Web

Componentes - Servidor
Recibe las peticiones de los clientes Si se pide un recurso esttico lo busca y lo devuelve Si se pide un recurso dinmico, pasa la peticin a un componente apropiado, que generar el contenido y lo devolver de vuelta al cliente
Desarrollo de Aplicaciones en Entorno .Net

2006, Mariano de la Fuente Jess Soto


Universidad Pontificia de Salamanca en Madrid

Componente - Base de Datos


Almacena la informacin persistente que sirve para generar el contenido dinmico Posibilidades: Cualquier mecanismo de persistencia
Base de Datos Relacional Base de Datos Orientada a Objetos Archivos Xml, etc
Desarrollo de Aplicaciones en Entorno .Net

2006, Mariano de la Fuente Jess Soto


Universidad Pontificia de Salamanca en Madrid

2006, Mariano de la Fuente Jess Soto

Universidad Pontificia de Salamanca en Madrid Mster en Ingeniera de Software

MODULO 1 Desarrollo de Aplicaciones en Entorno .Net 1.- Fundamentos de las aplicaciones Web

Comunicacin Cliente - Servidor (I)


Protocolo HTTP
Permite:
Enviar peticiones (opcionalmente con parmetros) Recibir respuestas de un contenido especfico (Content-Type)
Html Xml Jpg, etc.

Es un protocolo sin estado (Ver concepto de sesin)


Desarrollo de Aplicaciones en Entorno .Net

2006, Mariano de la Fuente Jess Soto


Universidad Pontificia de Salamanca en Madrid

Comunicacin Cliente - Servidor (II)


Protocolo HTTP Peticiones
GET
http://miservidor.es/archivo.aspx?nombre=Mariano &apellidos=de%20la%20Fuente

POST
http://miservidor.es/archivo.aspx (los parmetros viajan encapsulados en la peticin)
Desarrollo de Aplicaciones en Entorno .Net

2006, Mariano de la Fuente Jess Soto


Universidad Pontificia de Salamanca en Madrid

2006, Mariano de la Fuente Jess Soto

Universidad Pontificia de Salamanca en Madrid Mster en Ingeniera de Software

MODULO 1 Desarrollo de Aplicaciones en Entorno .Net 1.- Fundamentos de las aplicaciones Web

Comunicacin Cliente - Servidor (III)


Cmo generar las peticiones:
Peticin Get codificando directamente un enlace con sus parmetros:
<a href=pag.aspx?nombre=Jess&apellidos=Soto>Pincha aqu</a>

Peticin Get o Post en un formulario con el Method correspondiente


<form id="f1" method="get/post" action="pag.aspx"> <input type="text" name="nombre" /> <input type="submit" value="Enviar" /> </form>
Desarrollo de Aplicaciones en Entorno .Net

2006, Mariano de la Fuente Jess Soto


Universidad Pontificia de Salamanca en Madrid

Comunicacin Cliente - Servidor (IV)


Protocolo HTTP - Respuestas
Cdigo de Respuesta (tres dgitos)
xito 2xx (Ej: 200 OK) Redireccin 3xx (Ej: 301 Moved Permanently) Error del Cliente 4xx (Ej: 404 Not Found) Error del Servidor 5xx (Ej: 503 Service Unavailable)

Cabeceras (Ej: Date, Content-Type, etc) Datos : El contenido de la respuesta


Desarrollo de Aplicaciones en Entorno .Net

2006, Mariano de la Fuente Jess Soto


Universidad Pontificia de Salamanca en Madrid

10

2006, Mariano de la Fuente Jess Soto

Universidad Pontificia de Salamanca en Madrid Mster en Ingeniera de Software

MODULO 1 Desarrollo de Aplicaciones en Entorno .Net 1.- Fundamentos de las aplicaciones Web

Ventajas e Inconvenientes de las Aplicaciones Web


Ventajas
Despliegue Control de Versiones Ingeniera inversa

Inconvenientes
Usabilidad Velocidad Potenciales Atacantes
Desarrollo de Aplicaciones en Entorno .Net

2006, Mariano de la Fuente Jess Soto


Universidad Pontificia de Salamanca en Madrid

11

Concepto de Sesin (I)


Conexin a un Sistema Utilizacin del Sistema Desconexin del Sistema Ejemplos:
Telnet Ftp etc
Desarrollo de Aplicaciones en Entorno .Net

2006, Mariano de la Fuente Jess Soto


Universidad Pontificia de Salamanca en Madrid

12

2006, Mariano de la Fuente Jess Soto

Universidad Pontificia de Salamanca en Madrid Mster en Ingeniera de Software

MODULO 1 Desarrollo de Aplicaciones en Entorno .Net 1.- Fundamentos de las aplicaciones Web

Concepto de Sesin (II)


Sesin Telnet:

Desarrollo de Aplicaciones en Entorno .Net

2006, Mariano de la Fuente Jess Soto


Universidad Pontificia de Salamanca en Madrid

13

Concepto de Sesin (III)


Sesin Ftp:

Desarrollo de Aplicaciones en Entorno .Net

2006, Mariano de la Fuente Jess Soto


Universidad Pontificia de Salamanca en Madrid

14

2006, Mariano de la Fuente Jess Soto

Universidad Pontificia de Salamanca en Madrid Mster en Ingeniera de Software

MODULO 1 Desarrollo de Aplicaciones en Entorno .Net 1.- Fundamentos de las aplicaciones Web

Concepto de Sesin (IV)


Aplicacin Web

Desarrollo de Aplicaciones en Entorno .Net

2006, Mariano de la Fuente Jess Soto


Universidad Pontificia de Salamanca en Madrid

15

Concepto de Sesin (V)


Aplicacin Web
HTTP es un protocolo Sin Estado
A priori, el Servidor no sabe si dos peticiones seguidas pertenecen al mismo cliente o no

Cmo implementamos una tienda virtual, en la que un cliente navega por el catlogo, aade productos al carro, y luego pasa por caja, si cada una de esas acciones son independientes?
Desarrollo de Aplicaciones en Entorno .Net

2006, Mariano de la Fuente Jess Soto


Universidad Pontificia de Salamanca en Madrid

16

2006, Mariano de la Fuente Jess Soto

Universidad Pontificia de Salamanca en Madrid Mster en Ingeniera de Software

MODULO 1 Desarrollo de Aplicaciones en Entorno .Net 1.- Fundamentos de las aplicaciones Web

Concepto de Sesin (VI)


Posibilidades
Direccin IP? 83.21.12.46 Campos ocultos? <Input Type=hidden /> URL? http://........(sessionid=484030384394...) Cookies? Informacin que almacena el servidor en el cliente (persistente o en memoria) y que el cliente enva con cada peticin
2006, Mariano de la Fuente Jess Soto
Universidad Pontificia de Salamanca en Madrid

Desarrollo de Aplicaciones en Entorno .Net

17

Concepto de Sesin (VII)


Los Servidores Web gestionan por nosotros el mantenimiento de la Sesin, es decir, de identificar y agrupar las distintas peticiones que hace el mismo cliente a mi aplicacin, generando un contenedor diferente para cada sesin (Solo tenemos que preocuparnos de introducir y recuperar valores de dicho contenedor) Se suele utilizar el enfoque de cookies, y si no estn disponibles, la reescritura de urls
Desarrollo de Aplicaciones en Entorno .Net

2006, Mariano de la Fuente Jess Soto


Universidad Pontificia de Salamanca en Madrid

18

2006, Mariano de la Fuente Jess Soto

Universidad Pontificia de Salamanca en Madrid Mster en Ingeniera de Software

MODULO 1 Desarrollo de Aplicaciones en Entorno .Net 1.- Fundamentos de las aplicaciones Web

Concepto de Sesin (VIII)


Ejemplo de identificador de sesin en cookie

Desarrollo de Aplicaciones en Entorno .Net

2006, Mariano de la Fuente Jess Soto


Universidad Pontificia de Salamanca en Madrid

19

Concepto de Sesin (IX)


Ejemplo de identificador de sesin en url

Desarrollo de Aplicaciones en Entorno .Net

2006, Mariano de la Fuente Jess Soto


Universidad Pontificia de Salamanca en Madrid

20

2006, Mariano de la Fuente Jess Soto

10

Universidad Pontificia de Salamanca en Madrid Mster en Ingeniera de Software

MODULO 1 Desarrollo de Aplicaciones en Entorno .Net 1.- Fundamentos de las aplicaciones Web

Seguridad en las Aplicaciones Web (I)


REGLA N 1 Y FUNDAMENTAL NUNCA CONFES EN LA INFORMACIN INTRODUCIDA POR EL USUARIO
Desarrollo de Aplicaciones en Entorno .Net

2006, Mariano de la Fuente Jess Soto


Universidad Pontificia de Salamanca en Madrid

21

Seguridad en las Aplicaciones Web (II)


Si la aplicacin est disponible en Internet
Muchos potenciales atacantes

En cualquier caso:
Validar siempre la informacin recibida del cliente, tanto de campos de texto como de campos no manipulables (Listas desplegables, etc).
Desarrollo de Aplicaciones en Entorno .Net

2006, Mariano de la Fuente Jess Soto


Universidad Pontificia de Salamanca en Madrid

22

2006, Mariano de la Fuente Jess Soto

11

Universidad Pontificia de Salamanca en Madrid Mster en Ingeniera de Software

MODULO 1 Desarrollo de Aplicaciones en Entorno .Net 1.- Fundamentos de las aplicaciones Web

Seguridad en las Aplicaciones Web (III)


Arquitectura cliente-servidor
Validacin en el cliente
Ventajas
Rapidez No sobrecarga el servidor

Inconvenientes
El cliente est fuera de mi control Poca seguridad Programacin tediosa (JavaScript, .)

Desarrollo de Aplicaciones en Entorno .Net

2006, Mariano de la Fuente Jess Soto


Universidad Pontificia de Salamanca en Madrid

23

Seguridad en las Aplicaciones Web (IV)


Validacin en el servidor
Ventajas
Mantengo el control total Mucha seguridad Programacin sencilla (en general)

Inconvenientes
Sobrecarga del servidor Tiempo de respuesta

Desarrollo de Aplicaciones en Entorno .Net

2006, Mariano de la Fuente Jess Soto


Universidad Pontificia de Salamanca en Madrid

24

2006, Mariano de la Fuente Jess Soto

12

Universidad Pontificia de Salamanca en Madrid Mster en Ingeniera de Software

MODULO 1 Desarrollo de Aplicaciones en Entorno .Net 1.- Fundamentos de las aplicaciones Web

Seguridad en las Aplicaciones Web (V)


Ataques ms frecuentes
Sql Injection
Modificacin del comportamiento de una consulta a la base de datos al inyectar cdigo Sql no previsto

Cross-site Scripting
Inyeccin de cdigo en una pgina web, permitiendo robo de cookies, etc.
Desarrollo de Aplicaciones en Entorno .Net

2006, Mariano de la Fuente Jess Soto


Universidad Pontificia de Salamanca en Madrid

25

Referencias
Protocolo HTTP 1.1:
http://www.rfc.net/rfc2616.html

Html 4.01
http://www.w3.org/TR/html4/

Mime Media Types (Content-Type)


http://www.iana.org/assignments/media-types/
Desarrollo de Aplicaciones en Entorno .Net

2006, Mariano de la Fuente Jess Soto


Universidad Pontificia de Salamanca en Madrid

26

2006, Mariano de la Fuente Jess Soto

13

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