grupo # 10 - repositorio universidad de guayaquil:...

286
1 UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería en Sistemas Computacionales “Desarrollo de un Cyber Campus con portal cautivo” PROYECTO DE GRADO Previo a la Obtención del Título de: INGENIERO EN SISTEMAS COMPUTACIONALES Autores: JESSICA PAOLA ESCOBAR ZUÑIGA ANNABEL MARIUXI CASTILLO MITE NARCISA PILAR OROZCO IGUASNIA GUAYAQUIL-ECUADOR Año: 2010 Grupo # 10

Upload: tranlien

Post on 05-Oct-2018

229 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

1

UNIVERSIDAD DE GUAYAQUIL

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas

Computacionales

“Desarrollo de un Cyber Campus con portal cautivo”

PROYECTO DE GRADO

Previo a la Obtención del Título de:

INGENIERO EN SISTEMAS COMPUTACIONALES

Autores:

JESSICA PAOLA ESCOBAR ZUÑIGA

ANNABEL MARIUXI CASTILLO MITE

NARCISA PILAR OROZCO IGUASNIA

GUAYAQUIL-ECUADOR

Año: 2010

Grupo #

10

Page 2: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

2

TRIBUNAL DE GRADUACION

_______________________ ______________________

Decano Director de Tesis

_______________________ ______________________

Vocal Vocal

______________________

Secretario

Page 3: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

3

DECLARACIÓN EXPRESA

“La autoría de la tesis de grado corresponde exclusivamente a los

suscritos, perteneciendo a la Universidad de Guayaquil los derechos

que genera la aplicación de la misma.”

(Reglamento de Graduación de la Carrera de Ingeniería en Sistemas

Computacionales, Art. 26).

_______________________ ______________________

Jessica Escobar Z. Narcisa Orozco I.

0922640180 0922677133

______________________

Annabel Castillo M.

0919148080

Page 4: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

4

INDICE GENERAL

AGRADECIMIENTO II

DEDICATORIA III

TRIBUNAL DE GRADUACIÓN IV

DECLARACIÓN EXPRESA VI

INDICE GENERAL VI

INDICE GENERAL

Pág.:

CAPÍTULO 1

INTRODUCCIÓN 1

1.1 Antecedentes 3

1.2 Ámbito y Problemática 3

1.3 Solución a la Problemática 4

1.4 Visión y Misión del Proyecto 4

1.5 Objetivos del Proyecto 5

1.5.1 Objetivos Generales del Proyecto 5

Page 5: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

5

1.5.2 Objetivos Específicos del Proyecto 6

1.5.2.1 Objetivos del Administrador 6

1.5.2.2 Objetivos del Sistema 7

1.5.2.3 Objetivos del Usuario 7

1.6 Alcance del Proyecto 8

1.7 Recursos necesarios para el Proyecto 9

1.7.1 Recursos Humanos 9

1.7.2 Recursos de Software 10

1.7.3 Recursos de Hardware 11

1.7.4 Grupo de Trabajo 11

1.7.5 Entorno de Trabajo 12

1.8 Metodología del Proyecto 12

1.9 Políticas de Seguridad 15

1.10 Aplicación FODA 15

CAPÍTULO 2

ANALISIS 18

2.1 Levantamiento de información 18

2.2 Análisis de Requerimiento 19

Page 6: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

6

2.3 Análisis de Riesgos 20

2.4 Diagrama Entidad Relación 20

2.5 Diagrama de Flujo de Procesos 21

2.6 Diagrama de Casos de Uso 21

2.6.1 Caso de Uso 1 21

2.6.2 Caso de Uso 2 24

2.6.3 Caso de Uso 3 28

CAPÍTULO 3

DISEÑO 31

3.1 Diseño de Arquitectura 31

3.2 Arquitectura del Proyecto 33

3.3 Interfaz Gráfica 35

CAPÍTULO 4

Desarrollo y Prueba del Sistema 78

4.1 Desarrollo del sistema 78

4.1.1 Creación de la base de datos 78

Page 7: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

7

4.1.2 Creación de los componentes 79

4.1.3 Seguridades 79

4.2 Pruebas del sistema 80

CAPÍTULO 5

5.1 Implantación del sistema 81

5.2 Recursos Físicos 81

5.3 Recursos Lógicos 82

5.4 Recursos Humano 83

CAPÍTULO 6

Recomendación y Conclusión de la tesis 84

6.1 Recomendaciones 84

6.1.1 Hardware 84

6.1.2 Software 85

6.2 Conclusiones 85

Anexos 86

Page 8: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

8

CAPÍTULO 1

1. INTRODUCCIÓN

Este proyecto trata de implementar una

serie de aplicaciones que permitan

administrar el acceso a internet por

medio de un portal cautivo.

El proyecto se encargará de brindar

una solución para poder llevar un

control tipo HOSTPOST (Un hotspot

(en inglés ‘punto caliente’) es una zona

de cobertura Wi-Fi, en el que un punto

de acceso(access point) o varios

proveen servicios de red a través de un

Proveedor de Servicios de Internet

inalámbrico(wisp) dentro de una red

Page 9: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

9

inalámbrica, teniendo que autenticarse contra un servidor Linux que se

encargará de validar el usuario y la clave con la mac addres del usuario, y

dándole permiso de navegación por un tiempo determinado ( tiempo

comprado 1 hora, 2 horas, etc. etc.), dependiendo del tiempo que desee.

Básicamente el control de acceso a la plataforma cumple con dos normas de

validación:

Validación por usuario y contraseña.

Se usarán herramientas de software y hardware para satisfacer los

requerimientos que el proyecto precisa, orientado al control de acceso y

distribución del internet.

Implementación

Hay varias formas de implementar un portal cautivo:

● Redirección por HTTP: Se intercepta la primera petición HTTP del cliente, y

se le envía un data grama de respuesta que contiene un “HTTP Status Code

302” para redirigir al cliente hacia el portal cautivo.

● Redirección por DNS: Ante una petición DNS de un cliente no autorizado,

en lugar de devolver la dirección IP correcta, se retorna la dirección IP del

portal cautivo.

Page 10: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

10

1.1.- ANTECEDENTES

¿Qué es un cyber campus con portal cautivo?

Un cyber campus con portal cautivo es un servicio web para el acceso a

Internet. Con él se recoge todo el tráfico http y se re direccionan estas

peticiones a un conjunto de páginas especiales, previamente definidas, como

paso previo para permitir al usuario la navegación normal.

Es decir, antes de que el usuario pueda salir a Internet, está obligado a pasar

por determinadas páginas en donde, normalmente, deberá autenticarse y se

le muestra información importante de diversa índole, como puede ser

instrucciones de uso, recomendaciones o acuerdos de utilización del servicio

de acceso a Internet. Una vez que el usuario cumple con los requisitos

exigidos en estas páginas iníciales, se permite su navegación a Internet con

toda normalidad, siempre y cuando los sitios que quiera visitar estén

permitidos.

Los portales cautivos operan detrás del firewall, cuando estos están

presentes y pueden combinarse con el trabajo de Proxy.

1.2.-PROBLEMÁTICA

El problema radica cuando la entidad que contrata el servicio de internet no

controla el acceso a este. Esto puede provocar un derroche de recursos, algo

que se debe evitar. Además restringir el acceso a ciertos sitios web.

Page 11: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

11

Sin contar con el hecho que podamos tener “infiltrados” en nuestra conexión

provocaría una disminución en el buen servicio a ofrecer a los usuarios

potenciales (Quienes si pagan por el servicio).

1.3.-SOLUCION DE LA PROBLEMATICA

El proyecto dará solución a la problemática establecida encargándose de

brindar una solución para llevar un control tipo HOSTPOST dentro de una red

inalámbrica, teniendo que autenticarse contra un servidor Linux que será el

responsable de validar el usuario y la clave con la mac addres del usuario, y

así dar permiso de navegación por un tiempo determinado (tiempo comprado

1 hora, 2 Horas, etc. etc.), dependiendo del tiempo que desee.

1.4.-MISION Y VISION DEL PROYECTO

Visión

Que nosotros como estudiantes y próximos Ingenieros podamos saber

manejar y dar mejor usos a las redes inalámbricas (Wi-FI) que es lo último

en tecnología y en constante expansión. Esta tecnología novedosa permite

abaratar costos, simplificar instalaciones e implantaciones. Sin embargo, la

seguridad en este tipo de redes suele dejarse en segundo plano, cuando

realmente las implicaciones y riesgos que generan son casi siempre críticos.

Page 12: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

12

En este curso, con un enfoque muy práctico y basándose en la gran calidad

de muchas herramientas de software libre se analizaran las distintas formas

de implantación segura, realizando estudios de casos de integración muy

comunes.

Dirigido a:

Responsables informáticos y profesionales en el área de las nuevas

tecnologías interesados en el aprendizaje de las distintas técnicas existentes

para proteger activa y pasivamente las redes inalámbricas.

Misión

Este proyecto tiene como misión brindar una nueva opción en portal cautivo

para la gestión de acceso a internet. Permitir a los Administradores de la red

wi-fi poder asignar las tarifas disponibles para la venta del tiempo de

navegación en internet a través del portal, controlando el ancho de banda

para que sea más rápido la navegación a los usuarios que compren este

servicio.

1.5.-OBJETIVOS DEL PROYECTO

1.5.1.-Objetivo General

Investigar, estudiar e implementar el control de acceso a usuarios

para una red inalámbrica y así elevar la seguridad de la red Wi - Fi

Page 13: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

13

a un nivel avanzado. Interactuando entre varias herramientas

mediante un sistema web para la fácil administración.

1.5.2.-Objetivos Específicos del Proyecto

Montar un Cyber campus con portal cautivo para validación de

usuario-contraseña. Exigiéndole al usuario a logonearse primero

antes de ingresar a internet.

Validar la autenticación por usuario-contraseña contra el

servidor.

Integrar un servidor de bases de datos al sistema de validación,

para guardar registros de clientes, históricos, etc.

Restringir el acceso a páginas que el administrador considere

inadecuadas.

Evitar el uso excesivo de la conexión gratuita (mal uso del

ancho de banda)

Generar reportes que ayudarán a la administración del sistema.

1.5.2.1.-Objetivos del Administrador

Es organizar y controlar las acciones que son realizadas por

los clientes de nuestro cyber campus, denegando el acceso a

ciertos sitios web en caso de ser requerida esta acción.

Page 14: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

14

Además de llevar un control de los usuarios que ingresan y

salen del sistema.

1.5.2.2.-Objetivo del sistema

El sistema se encargará de guardar los registros en la base

de datos como la dirección IP (Asignada por el servidor), la

Mac, el tiempo comprado y utilizado por el cliente, la

fecha/hora de inicio y fin de la utilización del servicio de

internet.

1.5.2.3.-Objetivo del Usuario

El usuario final tendrá como objetivo recibir un excelente

servicio por parte del sistema y navegar con mayor

comodidad, cumpliendo las expectativas y necesidades que

tenga.

Beneficios

Proporcionar un servicio de control de acceso web que está orientado

a redes abiertas, normalmente asociadas a enlaces inalámbricos,

pueden aplicarse en multitud de situaciones: eventos, aulas, puntos de

acceso tipo kiosco, puntos de venta-expositores, oficinas remotas, etc.

Resolver de manera sencilla y limpia el acceso a Internet, facilitando la

conexión de usuarios externos y brindar la oportunidad de ofrecer

nuevas aplicaciones de conexión en entornos con pocos recursos

Page 15: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

15

técnicos, no resultan viables. La facilidad de instalación, configuración

y uso, está propiciando su rápida difusión.

Los administradores suelen hacerlo para que sean los propios

usuarios quienes se responsabilicen de sus acciones, y así evitar

problemas mayores.

La aplicación nos permitirá administrar los usuarios, tiempo de

navegación, administrar usuario-tiempo.

Podremos ver reportes

1.6.-ALCANCES DEL PROYECTO

Se deberá ingresar una identificación y/o clave asignada antes de

acceder a Internet, con el objetivo de desalentar a quienes quieran usar estos

servicios sin ser autorizados.

Guiar los usuarios Administradores para manipular el sistema

Administrar los usuarios para clientes del sistema.

Administrar tiempos de navegación.

Administrar usuario-tiempo.

Ver reportes sobre conexiones al servidor, usuarios y tiempos de

navegación.

Revisar el consumo de los usuarios.

Page 16: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

16

Realizar bloqueo de ciertos sitios web que el administrador considere

no debería tener acceso.

Reportes de ingresos al sistema

Reportes de salidas del sistema

Reportes Por usuario

Reportes Por fecha.

Creación de usuarios por lotes.

Creación de usuarios de manera individual.

Link de navegación gratuita. (http://www.cisc.ug.edu.ec)

1.7.-RECURSOS NECESARIOS PARA EL PROYECTO

Para la elaboración de nuestro Proyecto contamos con los siguientes

Recursos.

1.7.1.-Recurso Humano: El personal que está a cargo de este

Proyecto tendrá las siguientes funciones:

Jessica Escobar, responsable de la parte de levantamiento de

información, Diseño y Desarrollo.

Narcisa Orozco, responsable de Seguridades de la Base de

Datos (DBA), Diseño y Desarrollo.

Page 17: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

17

Annabel Castillo, responsable de desarrollo, diseño de redes y

control de calidad.

1.7.2.-Recurso de Software:

Estructuras de almacenamiento (base de datos: My SQL)

Monitores de comunicaciones (redes)

Lenguaje de programación (PHP, CGI), Linux Centos5, Apache,

MySQL, Squid, Madwifi, Bandwidth, Webmin, Dreamweaver 8,

Sarg.

Metodologías de desarrollo (modelo en espiral)

Control de seguridad y desarrollo (claves de acceso a usuarios)

Licencia para Windows XP.

Page 18: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

18

1.7.3.-Recurso de Hardware:

1.7.4.-Grupo de Trabajo: El grupo de trabajo está conformado

por tres personas. Todos cuentan con el conocimiento técnico

necesario para el desarrollo del proyecto. Entre las habilidades en

cada persona están:

Que sean comunicativos

Equipo Características Valor Mínimo

Recomendado

Servidor

Procesador Pentium IV CPU 2.06 GHz

Memoria RAM 1 o 2 Gb

Disco Duro 250 o 300 Gb

Tarjeta de red

externa

10/100 D - Link

Tarjeta inalámbrica

para PC

TP – Link 54 Mbps

Cliente

Procesador Pentium IV cpu 2.8 Ghz

Memoria RAM 1Gb

Disco Duro 80Gb

Equipo para Pruebas

2 Portátiles

1 Ticketera o impresora

Page 19: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

19

Que sean creativos

Facilidad de expresión

Que tengan iniciativa

Honradez y eficiencia en su trabajo

Capacidad de trabajo en equipo y bajo presión

Que sean responsables

1.7.5.-Entorno de Trabajo: Todos los integrantes del grupo

cuentan con la respectiva capacitación dictada los días lunes,

Miércoles y jueves así como también tutoría los días martes y

viernes.

Cada integrante cuenta con un computador asignado en un

laboratorio del seminario permitiendo desarrollar el proyecto sin

problemas.

El laboratorio cuenta con un buen suministro eléctrico para que en

caso de un fallo de electricidad se pueda guardar el trabajo

realizado y apagar los equipos. Se ha tratado en lo posible de

contar con un equipo de trabajo que tenga afinidad y empatía.

1.8.-METODOLOGÍA DEL PROYECTO

La estructura UML (lenguaje de modelamiento unificado) proporciona

modelar un esquema de 5 etapas distribuidas de la siguiente manera:

Page 20: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

20

Modelo de planificación.

Modelo de análisis.

Modelo de diseño.

Modelo de implementación.

Modelo de prueba.

La metodología a usar es la Orientada a Objetos, considerando los

conceptos técnicos, métodos y medidas aplicables al análisis, diseño y

pruebas del software.

Se realizará una codificación apegada a estándares, para promover la

usabilidad del proyecto y así poder explicar los beneficios del

desarrollo de nuestro portal.

Siguiendo las reglas de los estándares Web, el objetivo primordial en

la codificación es separar el contenido de la apariencia definiendo la

estructura de la página mediante HTML y luego definiendo su

presentación mediante PHP y CGI.

De acuerdo con las investigaciones realizadas, optamos por seguir un

“MODELO EN ESPIRAL”.

Este es un modelo de proceso de software evolutivo para la ingeniería de

software, donde el software se desarrolla en una serie de versiones

incrementales, permitiendo al desarrollador y al cliente entender y

reaccionar a los riesgos en cada nivel evolutivo.

Page 21: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

21

Utilizando la creación de prototipos como un mecanismo de reducción de

riesgo, pero, lo que es más importante permite a quien lo desarrolla

aplicar el enfoque de creación de prototipos en cualquier etapa de la

evolución de prototipos.

Con cada interacción alrededor de la espiral, se construyen sucesivas

versiones del software, cada vez más completa y, al final, al propio

sistema operacional que es el objetivo deseado.

Este modelo Consta de cuatro etapas o fases:

Planificación: Se determinan los objetivos principales del

proyecto, las alternativas y los inconvenientes que pueda

presentar el proyecto.

Análisis de Riesgo: Se determinan los riesgos que se

pueden presentar en la elaboración del proyecto, y se

analizan las posibles alternativas de solución de los mismos.

Ingeniería: Se realiza el desarrollo del siguiente nivel.

Evaluación del Cliente: Una vez se ha realizado el modelo

es revisado por el usuario final para determinar las fallas y se

continua con el ciclo hasta tener el producto final.

Page 22: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

22

1.9.-POLĺTICAS DE SEGURIDAD

Encriptación de Claves: La clave será encriptada en el cliente y será

enviada así al servidor. De esta manera se protegerá la clave del cliente, nos

aseguraremos que cuando la clave este viajando hacia el servidor y si llegará

a ser interceptada no podría ser descifrada con facilidad.

Tamaño de la clave: Como la clave va a ser generada por el servidor el

tamaño va a variar.

Vigencia de la clave: La clave no va a tener vigencia de expiración debido a

que el usuario podrá hacer uso de ella y su tiempo comprado estará

disponible hasta que lo agote.

1.10.-APLICACIÓN DE FODA SOBRE EL PROYECTO “CYBER

CAMPUS CON PORTAL CAUTIVO”

El FODA es un instrumento estratégico de planificación utilizado en la

evaluación de Fortalezas, Oportunidades, Debilidades y Amenazas que

participan en un proyecto o en una empresa. Hecho correctamente, es una

poderosa herramienta que puede marcar una diferencia real en nuestro

proceso de planificación y útil para ayudarnos a buscar los objetivos.

1.10.1-Fortalezas:

El proyecto “Cyber campus con portal cautivo” entraría a

competir en el mercado con las diferentes empresas

Page 23: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

23

desarrolladoras de software y administradoras de redes

inalámbricas.

La aplicación le permitirá al usuario la accesibilidad a

internet, y la facilidad de movilidad que brinda una red

inalámbrica.

Contamos con la tecnología adecuada que permite

desarrollar el proyecto.

Los procesos de gestión del mantenimiento de la conexión

por medio del portal cautivo serán agilizados y operados

en tiempo real.

1.10.2.-Oportunidades:

Saber escoger la tecnología adecuada referente al

hardware y software que sirvan para el eficiente desarrollo

del proyecto.

Aprovechar la familiarización que tienen los usuarios con

respecto a la tecnología informática con el manejo de

páginas web, correo electrónico, etc.

Utilizar la gran acogida que tiene el internet a nivel mundial

para favorecer la competencia en el mercado. Y mostrar la

utilidad de nuestro producto.

Page 24: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

24

1.10.3.-Debilidades:

Podrían existir usuarios no capacitados al utilizar y manejar

aplicaciones web.

Existencia de clientes descuidados que olvidarán o

perdieran su usuario y contraseña.

Desconocer con claridad la función del portal y sentirse

incomodo con este.

1.10.4.-Amenazas:

Preferencias de algunos usuarios por el libre acceso a

páginas restringidas en nuestro portal.

Haber escogido una tecnología poco apropiada provocando

que el funcionamiento del proyecto en general, no sea el

deseado.

Page 25: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

25

CAPITULO 2

2.-ANÁLISIS

2.1.-Levantamiento de Información

Realizando un análisis del proceso

normal que se lleva en una relación,

Administrador–Cliente final.

Encontramos que para poder

satisfacer las necesidades de muchos

Clientes que están sujetos a enormes

Ocupaciones y limitaciones de tiempo

puedan tener un excelente servicio de

internet, esto quiere decir que sea

rápido de acuerdo a sus necesidades y

que tenga un nivel de protección y

seguridad mientras navega.

Page 26: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

26

Para facilitar este proceso debe existir un mecanismo óptimo y oportuno que

le permita al cliente experimentar los beneficios ofrecidos por nuestro

servicio; se ha realizado una entrevista tanto a los Administradores de Cyber

y Clientes de Cyber con el fin de obtener criterios sobre la importancia de un

portal cautivo en la administración de internet por medios inalámbricos, los

resultados fueron favorables refiriéndonos a la seguridad del servicio, es

decir que se dieron opiniones donde la importancia de restringir la entrada a

la navegación por Internet en algunos lugares como: Hoteles, aeropuertos y

en nuestro caso un cyber campus donde son usados dispositivos

inalámbricos que brindan mayor comodidad al usuario, también

representarían un mayor riesgo, por la accesibilidad que genera para ciertos

“Intrusos”, considerando que se denominan así a los usuarios no

identificados como clientes.

2.2.-ANÁLISIS DE REQUERIMIENTOS

Dada la facilidad de conexión que proporciona el uso de dispositivos

inalámbricos al internet, la Carrera de Ingeniería en Sistemas

Computacionales ha propuesto realizar un Portal Web Cautivo aplicado a un

cyber campus demostrando así la efectividad de este portal no solo para la

administración de un cyber campus sino también para hoteles, aeropuertos,

etc.

Page 27: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

27

2.3.-ANÁLISIS DE RIESGOS

Los posibles riesgos que se pueden presentar durante la realización del

proyecto son:

No contar con los recursos físicos (Hardware) necesarios para

realizar las pruebas.

Que se dañe el Servidor por motivos externos.

No haber establecido planes de contingencia.

Problemas en la manipulación de los comandos internos del

sistema vía WEB.

Complicaciones en la búsqueda formas de ejecutar comandos

desde el PHP al Server.

2.4.-DIAGRAMA ENTIDAD RELACIÓN

El Diagrama Entidad Relación representa las relaciones entre los Objetos de

Datos, es la notación que se usa para realizar la actividad de Modelado de

Datos, los atributos de cada objeto de datos señalados en el DER se pueden

describir mediante una descripción de Objetos de Datos.

Page 28: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

28

2.5.-DIAGRAMA DE FLUJO DE PROCESOS

Flujo de Procesos:

El Diagrama de Flujo de Procesos es una representación gráfica de la

secuencia de todas las operaciones, los almacenamientos que ocurren

durante el proceso de conexión, registro e impresión de datos al comprar un

tiempo de navegación y finalmente visitar nuestro Portal para lograr una

conexión.

2.6.-DIAGRAMA DE CASOS DE USOS

El Diagrama de Casos de Uso va a representar gráficamente la manera

como se va desarrollando nuestro proyecto.

2.6.1.-Caso de Uso 1:

Definir Procesos del cliente o usuario para la conexión a internet

1er. Nivel:

Cliente

Compra de tiempo

de navegación

Ingresar a Portal

Cautivo

Ingresar usuario y

contraseña

Page 29: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

29

2do. Nivel:

Compra de

tiempo de

navegación

Acercarse a cancelar

el total del tiempo de

navegación a un

lugar autorizado

Ingresar a

portal cautivo

Conectarse al

navegador de internet

Ingresar

usuario y

contraseña

Dentro de la pantalla

que presenta nuestro

portal escribir el

usuario y contraseña.

Page 30: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

30

Descripción de Casos de Uso 1:

Nombre: Compra de tiempo de navegación

Alias:

Actores: Usuarios

Función:

Acercarse a cancelar el total del tiempo de

navegación a un lugar autorizado

Para poder navegar el cliente deberá

previamente haber cancelado el costo del

tiempo de navegación a utilizar

Referencias:

Tabla 1.1 Compra de tiempo de Navegación

Nombre: Ingresar a portal cautivo

Alias:

Actores: Usuarios

Función: Conectarse al navegador de internet

Todo usuario o cliente deberá pasar primero

por el portal cautivo antes de tener acceso libre

a internet

Referencias:

Tabla 1.2 Ingresar a portal Cautivo

Page 31: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

31

Nombre: Ingresar usuario y contraseña

Alias:

Actores: Usuarios

Función:

Dentro de la pantalla que presenta nuestro portal

escribir el usuario y contraseña.

Al ingresar el usuario y contraseña entregado en

un ticket se procederá a dar paso finalmente a la

conexión.

Referencias:

Tabla 1.3 Ingreso Usuario y Contraseña

2.6.2.- Caso de Uso 2:

1er. Nivel:

Sistema

Aquiles

Realizar cambio de

estatus

Guardar en la base

de datos la

información

necesaria.

Asignación de clave

y usuario

automáticamente

Page 32: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

32

2do. Nivel:

Ingresar la

información de las

direcciones Ip’s y

demás

requerimientos del

sistema

Guardar en la base

de datos la

información

necesaria.

Realizar cambio de

estatus

Cambiar el estado

de inactivo a activo

y viceversa

Asignación de

clave y usuario

Generación

automática de clave

y usuario

Page 33: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

33

Descripción de Casos de Uso 2:

Nombre:

Guardar en la base de datos la información

necesaria.

Alias:

Actor: Sistema

Función:

Ingresar la información de las direcciones Ip’s y

demás requerimientos del sistema

El sistema necesita almacenar las direcciones

ip’s, el tiempo comprado, el tiempo que lleva

utilizado el cliente y el tiempo restante del

mismo, la fecha y hora de inicio y fin de

conexión.

Referencias:

Tabla 2.1 Guarda en la Base de Datos Información

Nombre: Realizar cambio de estatus

Alias:

Actor: Sistema

Función:

Cambiar el estado de inactivo a activo y

viceversa

Page 34: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

34

Cuando el usuario esta inactivo su estado es 2 y

cuando se encuentra conectado su estado

aparecerá reflejado en el sistema como 1. De

esta manera será importante para el control y el

cambio de estado del usuario.

Referencias:

Tabla 2.2 Realizar Cambios de Estatus

Nombre: Asignación de clave y usuarios

Alias:

Actor: Sistema

Función: Generación automática de clave y usuario

El sistema será el encargado de generar de

manera automática la clave y el usuario

evitando asi la filtración de estos datos. Referencias:

Tabla 2.3 Asignación de Claves y Usuarios

Page 35: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

35

2.6.3.- Caso de Uso 3:

1er. Nivel:

Administrador

2do. Nivel:

Encargado de la

asignación de los

costos a las

diferentes

fracciones de

tiempo

Asignación de

Costos por tiempo

Asignación de

tiempo

Concede el tiempo

solicitado por el

usuario

Creación de

Usuarios y

administradores

Se procede a la

creación de nuevos

usuarios y

administradores

Asignación de Costos

por tiempo

Asignación de tiempo

Creación de Usuarios,

y administradores

Page 36: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

36

Descripción de Casos de Uso 3:

Nombre: Asignación de Costos por tiempo

Alias:

Actor: Administrador

Función:

Encargado de la asignación de los costos a las

diferentes fracciones de tiempo

El administrador tiene la autoridad de asignar a

un determinado costo para las fracciones de

tiempo de navegación

Referencias:

Tabla 3.1 Asignación de Costos por Tiempo

Nombre: Asignación de tiempo

Alias:

Actor: Administrador

Función: Concede el tiempo solicitado por el usuario

Recibe la solicitud para la asignación de tiempo

al usuario.

Referencias:

Tabla 3.2 Asignación de Tiempo

Page 37: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

37

Nombre: Creación de Usuarios y administradores

Alias:

Actor: Administrador

Función:

Se procede a la creación de nuevos usuarios, y

administradores

Crea nuevos usuarios, y administradores.

Referencias:

Tabla 3.3 Creación de Usuarios y Administradores

Page 38: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

38

CAPITULO 3

3.1. DISEÑO DE ARQUITECTURA La interfaz será desarrollada bajo

PHP+CGI, como base de datos usaremos

MYSQL para almacenar los datos

importantes de los usuarios y llevar

control LOG de las conexiones al

servidor, el sistema será administrado vía

WEB.

El Servidor Linux Usara Centos 5

(Distribución Open source Especifico para

servidores) que está desarrollada para

funcionar en servidores, usaremos

comandos internos de Linux (ARP) para

sacar las IP que se conectan a la PC

Page 39: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

39

(SERVER),y luego usaremos comandos de PHP para sacar las IP de los

clientes y así comparar mediante programación los datos que sacamos

anteriormente con los comandos de Linux, con las IPTABLES (reglas del

firewall) podremos dar los permisos a los usuarios para lo cual se realizara

un redireccionamiento de puertos, es decir si no esta en una lista de

permitidos dentro de la base de datos no se le dará permiso de navegación y

será bloqueado .

Dentro de la manipulación del sistema se podrán Crear, editar y

eliminar usuarios, clientes y administradores

Se administrará el tiempos de navegación (tiempos que se alquilarán

15 minutos 20 minutos 30 minutos, etc.).

En cuanto a la administración de usuario-tiempo se refiere a la

concatenación de un tiempo de alquiler de navegación a un usuario.

Se podrán ver los logs de las conexiones de los clientes, y cambios

realizados por el cliente en el sistema.

Para Revisar el consumo de los usuarios se verificara cuanto tiene de

consumo en BW

La aplicación nos permitirá administrar los usuarios para manipular el

sistema, los usuarios para clientes del sistema, tiempos de navegación,

usuario-tiempo, podremos ver además reportes sobre conexiones al

Page 40: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

40

servidor, usuarios y tiempos de navegación, también se revisar el consumo

de los usuarios.

Se mantendrá un registro de los usuarios creados para llevar un control de

Log sobre los movimientos realizados en el sistema.

3.2.-ARQUITECTURA DEL PROYECTO

Usaremos Arquitectura de 3-capas.

3.2.1.-Capa de presentación: Esta capa es la que mantiene la

relación el usuario, le comunica los requisitos necesarios para la

navegación, captura la información del usuario en un mínimo de

proceso. Esta capa se comunica únicamente con la capa de

negocio. También es conocida como interfaz gráfica y debe tener

la característica de ser "amigable" para el usuario.

3.2.2.-Capa de negocio: Es donde residen los programas que se

ejecutan, se reciben las peticiones del usuario y se envían las

respuestas tras el proceso.

Se denomina Capa de negocio porque es aquí donde se

establecen todas las reglas que deben cumplirse. Esta capa se

comunica con la capa de presentación, para recibir las solicitudes

y presentar los resultados, y con la capa de datos, para solicitar al

gestor de base de datos para almacenar o recuperar datos de él.

Page 41: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

41

3.2.3.-Capa de datos: Es donde residen los datos y es la

encargada de acceder a los mismos. Está formada por uno o más

gestores de bases de datos que realizan todo el almacenamiento

de datos, reciben solicitudes de almacenamiento o recuperación

de información desde la capa de negocio.

Page 42: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

42

3.3.-Interfaz Grafica

3.1-Pantalla usuario

Esta pantalla es la que vera el usuario al conectarse para navegar en

internet. En ella se encuentra un link para navegación gratuita a la página

de la Universidad Estatal. http://www.cisc.ug.edu.ec

Page 43: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

43

Esta pantalla es la página de la universidad que será vista gratuitamente

donde podrá informarse de las actividades tales como:

Fechas de Inscripciones

Requisitos para inscribirse, etc.

Page 44: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

44

Pantalla Usuario Conectado

Una vez conectado al sistema el cliente vera esta pantalla donde se muestra

el tiempo de conexión, tiempo restante, y mostrará el gráfico del consumo.

Descripción de los Iconos

No todos los iconos podrán ser vistos por el cajero

Home

Este icono muestra la página principal es decir la interfaz del

portal cautivo.

Page 45: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

45

Restricción de sitios

Aquí se introducirán las direcciones de las páginas web a las

cuales se va a denegar el acceso a los usuarios.

Costos

Aquí se decidirán los costos de cada fracción de tiempo

Tiempos

Aquí se administrarán los tiempos de alquiler

Reglas

Aquí se administrarán las reglas del portal.

Usuarios

Aquí se Administrará todo lo relacionado con el usuario cambio

de datos claves etc.

Gráficos de consumo

Aquí se administran los gráficos de los usuarios (consumos

Internet y administración de los anchos de banda que se podrán usar para

crear los grupos de clientes asignados a un ancho de banda)

Reportes

Aquí se verán los reportes, como usuarios que se han conectado

al sistema, usuarios que han salido del sistema.

Page 46: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

46

Botón Salir

Este botón permite salir del sistema

3.2.-Pantalla del Administrador

En esta pantalla se refleja la información de los usuarios que se

encuentran navegando. Dentro de la misma están las opciones de:

Page 47: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

47

cuenta nueva

Con esta opción se crea un nuevo usuario que te conectara con la pantalla

Creación de usuarios, aquí se podrá definir el tiempo que tendrá este

usuario.

Page 48: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

48

Se ha creado el usuario y el registro se guardo con éxito tal como muestra en

esta imagen.

Page 49: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

49

Opción: Guardar e imprimir

Esta pantalla muestra cuando se va a imprimir el ticket para que los usuarios

puedan navegar.

Page 50: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

50

Dando click en guardar e imprimir se generar un ticket indicando usuario y

contraseña, además de la opción de imprimir el mismo.

Page 51: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

51

Cuenta nueva por lotes

Dando doble click en esta opción, se podrá determinar la cantidad de

usuarios que se desean crear, y se generarán automáticamente un archivo

en Excel los usuarios y contraseñas.

Además dando un click en el icono te conectara a la pantalla de

Consumo Cliente. Así mismo si das doble click a la ip se dará un ping a

dicha ip.

Finalmente si das un click en el icono te conectará con la pantalla

Administración de Reglas.Esta pantalla es vista solo por el administrador.

Page 52: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

52

3.3.-Restricción de Sitios

En esta pantalla se escribirán las páginas a las que serán restringido el

acceso de los usuarios.

Page 53: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

53

3.4.-Administración de Costos

En esta pantalla se asignarán los costos en relación a una fracción de

tiempo determinada por el administrador del sistema. Dando doble click en la

lupa se podrán ver todos los costos creados en el sistema.

Page 54: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

54

Dando doble click en la lupa se podrán ver todos los costos creados en el

sistema.

3.5.- Administración de Tiempo de Alquiler

En esta pantalla se pondrá el tiempo de navegación que el usuario desea

alquilar.

Page 55: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

55

Dando doble click en la lupa se podrán ver todos los tiempos creados en el

sistema.

Page 56: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

56

3.6.-Administración de Políticas

En esta pantalla es donde introduciremos lo puertos que queremos bloquear

y solo serán vistas y alteradas las reglas generales por el administrador

mientras que el cajero solo podrá ver y altera las reglas por usuarios.

Page 57: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

57

3.7.- Administración de usuarios

En esta pantalla se crearán los nuevos usuarios del sistema sean:

administradores, cajeros, y permite cambiar claves de los usuarios clientes

del sistema esta pantalla la usa el administrador (Cambia claves de

administrador, cajero o usuario) o el cajero (solo puede cambiar claves de

usuarios).

Dando un click en la lupa se conectará con la pantalla de Búsqueda de

Usuarios y los campos de la pantalla Administración de usuarios serán

llenados automáticamente con la información de Búsqueda de Usuarios

Page 58: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

58

Búsqueda de Usuarios

En esta pantalla se realizarán las búsquedas de todos los usuarios existentes

en el sistema, la búsqueda dará como resultado: El código, el login, la

descripción, tipo de usuario y el estado del usuario.

Dando un click en el código me regresará a la pantalla de Administración

de usuarios.

Page 59: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

59

En esta pantalla podremos hacer las modificaciones al usuario tanto en el

login, clave, descripción, cambiar el estado del usuario que puede ser activo

o inactivo y cambiar el tiempo.

Page 60: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

60

3.8 Ancho de Banda

En esta pantalla se asigna un ancho de banda. Si se da click en el nombre

del archivo del listado de archivos creados te enviara a la pantalla Usuario -

Ancho de Banda.

Page 61: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

61

Usuario - Ancho de Banda

En esta pantalla se impondrá el ancho de banda del usuario, aquí aparecerá

datos del usuario como: tipo de tarjeta (ETH0 o ETH1), ancho de banda,

prioridad, etc.

Page 62: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

62

Consumo Cliente

Esta pantalla presenta un gráfico del consumo que lleva el cliente. Dando

doble click en este grafico que se encuentra en la Pantalla del

Administrador

Page 63: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

63

3.9.-Administración de Reportes

En esta pantalla veremos todos los Reportes de los usuarios que han

ingresado al sistema pueden ser por usuario o por fecha.

Page 64: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

64

Aquí se muestra el reporte de todos los registros, dando click en generar

Page 65: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

65

En esta pantalla se muestra los usuarios ingresados al sistema dando doble

click en generar.

Page 66: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

66

En esta pantalla se muestran los usuarios que ya salieron del sistema dando

doble click en generar, los reportes generados pueden ser visto por usuarios

o por fecha.

Page 67: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

67

En esta pantalla se muestran los usuarios que ya salieron del sistema dando

doble click en generar, los reportes generados pueden ser vistos por usuarios

o por fecha.

En esta pantalla se ingresa a los reportes que son generados por el SARG

Page 68: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

68

Entrando a la opción ONE-SHOT se encontrará con las siguientes opciones:

Page 69: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

69

Si presiona el grafico estadístico este mostrará el gráfico de consumo de la

dirección ip remarcada.

Page 70: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

70

Si presiona el reloj se encontrará con un reporte del tiempo de consumo por

la ip remarcada.

Page 71: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

71

Si presiona la ip se presentará el siguiente reporte donde se muestra los

sitios permitidos por las ip

Page 72: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

72

Page 73: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

73

Si presiona sitios y usuario se mostrará la pantalla donde indica los sitios

que han visitado cada usuario del sistema

Page 74: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

74

Si presiona TOP 100 se mostrará las 100 páginas más visitadas por los

usuarios

Page 75: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

75

Si presiona Bajados se mostrará los sitios donde ha sido descargada la

información, el usuario que descargo, fecha y hora

Page 76: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

76

Si presiona denegados se mostrará un reporte de sitios denegados para el

usuario

Page 77: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

77

Aquí se muestra los sitios denegados

Page 78: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

78

3.10.-Base de datos

Page 79: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

79

Tabla Log

Atributo Tipo de Dato PK FK

id_tb_log int(8)

descripcion varchar(245)

fecha date

hora time

id_tb_usuario int(8) FK1

Tabla tb_usuario

Atributo Tipo de Dato PK FK

id_tb_usuario int(8)

Page 80: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

80

login varchar(245)

clave varchar(245)

descripcion varchar(245)

id_tb_tipousuario

int(8) FK1

id_tb_estado int(8) FK2

Tabla tb_tipousuario

Atributo Tipo de Dato PK FK

id_tb_tipousuario int(8)

tipousuario varchar(10)

descripcion varchar(245)

Page 81: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

81

Tabla tb_estado

Atributo Tipo de Dato PK FK

id_tb_estado int(8)

estado varchar(10) FK1

descripcion varchar(245) FK1

Tabla tb_tiempo_usuario

Atributo Tipo de Dato PK FK

id_tb_tiempo_usuario int(8)

Page 82: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

82

id_tb_usuario int(8) FK2

id_tb_tiempo int(8) FK1

ip varchar(15)

mac varchar(245)

ini_conex Int(8) FK4

fin_conex varchar(8)

resta_conex varchar(8)

id_tb_bw varchar(8)

fecha int(8) FK3

id_tb_estado varchar(245)

int(8)

Page 83: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

83

Tabla tb_regla

Atributo Tipo de Dato PK FK

id_tb_regla int(8)

tipo varchar(10)

puerto varchar(10)

Id_tb_tiempo_usuario int(8) FK1

id_tb_estado int(8) FK2

id_tb_tipousuario int(8) FK3

Tabla tb_costo

Page 84: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

84

Atributo Tipo de Dato PK FK

id_tb_costo int(8)

valor float

descripcion varchar(245)

Tabla tb_tiempo

Atributo Tipo de Dato PK FK

id_tb_tiempo int(8)

numero varchar(8) FK1

id_tb_costo int(8) FK1

Page 85: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

85

Capítulo 4

4.-DESARROLLO Y PRUEBA

DEL SISTEMA

4.1. -Desarrollo del sistema

Para el desarrollo del Sistema CYBER

CAMPUS CON PORTAL CAUTIVO este

proyecto esta desarrollado bajo Linux

Centos5, My SQL para la base de datos,

lenguaje de programación PHP,CGI.

4.1.1.-Creación de base de datos

El sistema CYBER CAMPUS CON

PORTAL CAUTIVO consta de una base

de datos creada bajo My SQL, que

contiene varias tablas para la

manipulación de datos la cual estará

Page 86: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

86

relacionada directamente con la administración de los usuarios.

La estructura de las tablas son las siguientes:

4.1.2.-Creación de los Componentes

Para realizar la estructura de la base de datos se realizaron los

siguientes pasos:

Análisis de la información

Desarrollo de la base de Datos

Prueba de la base de Datos

Cambios sugeridos por el usuario.

Este proceso se repite hasta llegar al prototipo final que cumpla

con los alcances definidos en el proyecto.

4.1.3.-Seguridades

Para entrar al sistema CYBER CAMPUS CON PORTAL CAUTIVO

debemos ingresar al portal cautivo un usuario y una clave los

mismos que son comparados con los usuarios que han sido

creados por el sistema, estos se encuentran guardados en la tabla

tb_usuario en la base de datos. Cabe indicar que la clave que

ingresa el usuario es encriptada con el fin de que sea totalmente

confidencial y no sea copiada por usuarios maliciosos.

Page 87: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

87

4.2. Pruebas del Sistema

Antes de implementar el sistema CYBER CAMPUS CON PORTAL

CAUTIVO, se realizaron las pruebas correspondientes con los usuarios

quienes navegaron en internet haciendo uso de nuestro servicio, de tal

manera que se pudo observar si las aplicaciones cumplen con los alcances

del proyecto.

Cada usuario realizo las pruebas necesarias, y añadió criterios sobre mejoras

que podrían aportar alguna ayuda al desempeño del sistema.

Adicionalmente se agregarán aplicaciones y controles generales que

sustenten los ingresos correctos de la información.

Pantallas del Sistema

o Cambio en el fondo de las pantallas del Sistema (Logo de la

Universidad).

o Indicar que acción hace cada icono utilizado en el sistema.

o Mejorar la interfaz gráfica utilizada en el sistema.

o Incorporación de un link para navegación gratuita en el

portal cautivo.

Este sistema fue evaluado por nuestro Profesor de Seminario Ing. Eduardo

Alvarado quien aportó con su criterio y nos aconsejo algunas modificaciones.

Page 88: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

88

Capítulo 5

5.1 IMPLEMENTACIÓN DEL

SISTEMA

Una vez llegado al prototipo final del

sistema CYBER CAMPUS CON

PORTAL CAUTIVO se procedió a la

instalación del software en el equipo

especificado en el siguiente punto, con el

fin de presentarlo y sustentarlo ante el

tribunal que revisó nuestro proyecto.

5.2 Recursos Físicos

Para la implementación del sistema

CYBER CAMPUS CON PORTAL

CAUTIVO se necesita contar con mínimo

Page 89: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

89

un equipo (Laptop), un servidor y un cliente.

El servidor posee las siguientes características:

Procesador Pentium IV CPU 2.06 GHz

Mínimo 1 GB de memoria RAM

Disco Duro de 250GB

Tarjeta de red externa 10/100 D- Link

Tarjeta inalámbrica para PC TP-Link 54 Mbps

El cliente puede tener las siguientes propiedades:

Procesador Pentium IV CPU 2.8 GHz

Mínimo 1 GB de memoria RAM

Disco Duro de 80 GB

Adaptador de red inalámbrico

5.3 Recursos Lógicos

El software utilizado en el servidor se detalla a continuación:

Sistema Operativo Linux Centos5

Base de datos My SQL

lenguaje de programación PHP,CGI

En el cliente es necesario tener instalado como sistema Operativo Windows

XP, Vista.

Page 90: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

90

5.4 Recursos Humanos

El personal que intervino en el desarrollo de la aplicación y en la

configuración tanto del cliente como del servidor son:

Escobar Jessica

Orozco Narcisa

Castillo Annabel

Page 91: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

91

CAPITULO 6

6. RECOMENDACIONES Y

CONCLUSIONES DE LA

TESIS

6.1. Recomendaciones

Las recomendaciones que hacemos a las

personas que deseen implementar y

utilizar nuestro sistema CYBER CAMPUS

CON PORTAL CAUTIVO, son referentes

al Hardware y Software que deben tener

en cuenta al momento de instalarlo.

6.1.1. Hardware

El equipo utilizado debe cumplir con los

requisitos mínimos especificados en el

manual técnico, ya que de otra manera el

Page 92: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

92

funcionamiento de la autenticación de usuarios presentaría problemas.

6.1.2. Software

Nuestra aplicación se ha desarrollado bajo el sistema operativo Linux

Centos5 y los paquetes necesarios han sido instalados desde los discos

de instalación de Linux.

6.2. Conclusiones

La implementación del CYBER CAMPUS CON PORTAL CAUTIVO por parte

de los diferentes usuarios que la utilizarán les permitirá una fácil

configuración de una red inalámbrica para acceso de navegación, el diseño

esta basado con herramientas fáciles de utilizar y con una interfaz amigable,

esperamos proporcionarles a los usuarios una herramienta que cumpla con

sus exigencias.

Page 93: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

93

Anexos

Page 94: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

94

TIPOS DE MODELO PARA EL DESARROLLO DE UN PROYECTO

Modelo en cascada o Clásico (modelo tradicional)

Modelo en espiral (modelo evolutivo)

Modelo de prototipos

Desarrollo por etapas

Desarrollo iterativo y creciente o Iterativo e Incremental

RAD (Rapid Application Development)

MODELO DE CASCADA

En Ingeniería de software el 'desarrollo en cascada', también llamado

'modelo en cascada', es el enfoque metodológico que ordena rigurosamente

las etapas del '[[ciclo de vida del software]]', de forma tal que el inicio de cada

etapa debe esperar a la finalización de la inmediatamente anterior. Un

ejemplo de una metodología de desarrollo en cascada es:

Análisis de requisitos

Diseño del Sistema

Diseño del Programa

Codificación

Pruebas

Implantación

Mantenimiento

Page 95: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

95

De esta forma, cualquier error de diseño detectado en la etapa de prueba

conduce necesariamente al rediseño y nueva programación del código

afectado, aumentando los costes del desarrollo. La palabra cascada sugiere,

mediante la metáfora de la fuerza de la gravedad, el esfuerzo necesario para

introducir un cambio en las fases más avanzadas de un proyecto. Si bien ha

sido ampliamente criticado desde el ámbito académico y la industria, sigue

siendo el paradigma más seguido al día de hoy.

MODELO ESPIRAL

Es un modelo de proceso de software evolutivo donde se conjuga la naturaleza de

construcción de prototipos con los aspectos controlados y sistemáticos del

MODELO LINEAL y SECUENCIAL. Proporciona el potencial para el desarrollo

rápido de versiones incrementales del software que no se basa en fases claramente

definidas y separadas para crear un sistema.

En el modelo espiral, el software se desarrolla en una serie de versiones

incrementales. Durante las primeras iteraciones la versión incremental podría ser un

modelo en papel o un prototipo, durante las últimas iteraciones se producen

versiones cada vez mas completas del sistema diseñado.

EL modelo en espiral se divide en un número de actividades de marco de trabajo,

también llamadas regiones de tareas , Cada una de las regiones están compuestas

por un conjunto de tareas del trabajo llamado conjunto de tareas que se adaptan a

las características del proyecto que va a emprenderse en todos los casos se aplican

actividades de protección

Cada vuelta en la espiral se divide en sectores:

Page 96: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

96

Comunicación con el Cliente: Las tareas requeridas para establecer,

comunicación entre el desarrollador y el cliente

Planificación o Planeación: Las tareas requeridas para definir recursos, el

tiempo, determinación de los objetivos, alternativas y restricciones y otra

información relacionadas con el proyecto.

Análisis de Riesgos: Las tareas requeridas para evaluar riesgos técnicos y

de gestión, análisis de alternativas e identificación/resolución de riesgos

Ingeniería: Las tareas requeridas para construir una o más representaciones

de la aplicación, desarrollo del producto hasta "el siguiente nivel".

Construcción y Acción: Las tareas requeridas para construir, probar,

instalar y proporcionar soporte al usuario (por ejemplo, documentación y

práctica).

Evaluación del cliente: Tareas requeridas para obtener la reacción del

cliente según la evaluación de las representaciones del software creadas

durante la etapa de ingeniería e implementada durante la etapa de

instalación. Valoración por parte del cliente de los resultados obtenidos.

Este método está basado en dos importantes principios:

1. la práctica de diseño profesional es caracterizar en términos de conocer,

actuar en situaciones, conversación con la situación y reflexión en acción.

Hay un distinto medio de proceso - orientación en esta aproximación al

diseño. Es raro que el diseñador tenga el diseño en su cabeza por

adelantado y que después lo transcriba. Gran parte del tiempo del diseñador

está inmiscuido en una progresiva relación con su entorno. Una buena

Page 97: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

97

metáfora para describirlo es "la conversación con el material", como un

escultor, quien está ocupado en una conversación con el medio. El escultor

modela arcilla y luego mira y siente la escultura para ver lo que ha llegado a

ser.

2. la necesidad para diseñadores de tomar la práctica de trabajo seriamente, de

supervisar las formas en las que el trabajo se está haciendo, en el sentido

de una solución abierta y desplegada para aumentar la complejidad de una

situación que el diseñador solo entiende parcialmente. El hecho por el cual

se está tratando con "actores humanos". Los sistemas necesitan tratar o

estar en contacto con las preocupaciones del usuario. Es, definitiva, el

reconocimiento de que el trabajo es fundamentalmente social, envolviendo

cooperación y comunicación

MODELO DE PROTOTIPOS

En Ingeniería de software el desarrollo con prototipación, también llamado

modelo de prototipos que pertenece a los modelos de desarrollo evolutivo, se

inicia con la definición de los objetivos globales para el software, luego se identifican

los requisitos conocidos y las áreas del esquema en donde es necesaria más

definición. Entonces se plantea con rapidez una iteración de construcción de

prototipos y se presenta el modelado (en forma de un diseño rápido).

El diseño rápido se centra en una representación de aquellos aspectos del software

que serán visibles para el cliente o el usuario final (por ejemplo, la configuración de

la interfaz con el usuario y el formato de los despliegues de salida). El diseño rápido

conduce a la construcción de un prototipo, el cual es evaluado por el cliente o el

usuario para una retroalimentación; gracias a ésta se refinan los requisitos del

Page 98: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

98

software que se desarrollará. La iteración ocurre cuando el prototipo se ajusta para

satisfacer las necesidades del cliente. Esto permite que al mismo tiempo el

desarrollador entienda mejor lo que se debe hacer y el cliente vea resultados a corto

plazo.

El modelo de desarrollo de software por etapas es similar al Modelo de

prototipos ya que se muestra al cliente el software en diferentes estados

sucesivos de desarrollo, se diferencia en que las especificaciones no son

conocidas en detalle al inicio del proyecto y por tanto se van desarrollando

simultáneamente con las diferentes versiones del código.

Pueden distinguirse las siguientes fases:

Especificación conceptual

Análisis de requerimientos

Diseño inicial

Diseño detallado, codificación, depuración y liberación

Desarrollo interactivo y creciente

La idea principal detrás de mejoramiento interactivo es desarrollar un sistema de

programas de manera incremental, permitiéndole al desarrollador sacar ventaja de

lo que se ha aprendido a lo largo del desarrollo anterior, incrementando, versiones

entregables del sistema. El aprendizaje viene de dos vertientes: el desarrollo del

sistema, y su uso (mientras sea posible). Los pasos claves en el proceso son

comenzar con una implementación simple de los requerimientos del sistema, e

interactivamente mejorar la secuencia evolutiva de versiones hasta que el sistema

Page 99: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

99

completo esté implementado. En cada iteración, se realizan cambios en el diseño y

se agregan nuevas funcionalidades y capacidades al sistema.

DESARROLLO

Rapid Application Development (RAD)

El Desarrollo rápido de aplicaciones o Rapid Application Development (RAD) es

un proceso de desarrollo de software (en inglés, software development process),

desarrollado inicialmente por James Martín en 1980. El método comprende el

desarrollo iterativo, la construcción de prototipos y el uso de utilidades CASE

(Computer Aided Software Engineering). Tradicionalmente, el desarrollo rápido de

aplicaciones tiende a englobar también la usabilidad, utilidad y la rapidez de

ejecución.

LA ENTREVISTA

Las entrevistas se utilizan para recabar información en forma verbal, a través

de preguntas que propone el analista. Quienes responden pueden ser

gerentes o empleados, los cuales son usuarios actuales del sistema

existente, usuarios potenciales del sistema propuesto o aquellos que

proporcionarán datos o serán afectados por la aplicación propuesta. El

analista puede entrevistar al personal en forma individual o en grupos

algunos analistas prefieren este método a las otras técnicas que se

estudiarán más adelante. Sin embargo, las entrevistas no siempre son la

mejor fuente de datos de aplicación.

Page 100: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

100

Dentro de una organización, la entrevista es la técnica más significativa y

productiva de que dispone el analista para recabar datos. En otras palabras,

la entrevista es un intercambio de información que se efectúa cara a cara. Es

un canal de comunicación entre el analista y la organización; sirve para

obtener información acerca de las necesidades y la manera de satisfacerlas,

así como concejo y comprensión por parte del usuario para toda idea o

método nuevos. Por otra parte, la entrevista ofrece al analista una excelente

oportunidad para establecer una corriente de simpatía con el personal

usuario, lo cual es fundamental en transcurso del estudio.

Preparación de la Entrevista

1. Determinar la posición que ocupa de la organización el futuro

entrevistado, sus responsabilidades básicas, actividades, etc.

(Investigación).

2. Preparar las preguntas que van a plantearse, y los documentos

necesarios (Organización).

3. Fijar un límite de tiempo y preparar la agenda para la entrevista.

(Sicología).

Page 101: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

101

4. Elegir un lugar donde se puede conducir la entrevista con la mayor

comodidad (Sicología).

5. Hacer la cita con la debida anticipación (Planeación).

Realización de Entrevista

A través de la entrevista, los analistas deben preguntarse a sí mismo las

siguientes preguntas:

o ¿Qué es lo que me está diciendo la persona?

o ¿Por qué me lo está diciendo a mí?

o ¿Qué está olvidando?

o ¿Qué espera está persona que haga yo?

Encuesta

Una encuesta es un conjunto de preguntas normalizadas dirigidas a una

muestra representativa de la población o instituciones, con el fin de conocer

estados de opinión o hechos específicos.

La encuesta está conformada de un grupo de preguntas que se dirigen a un

segmento de personas específicas que nos permitirán conocer sus

opiniones, inquietudes, gustos y preferencias entre otras cosas.

Page 102: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

102

La encuesta por lo regular se encuentra conformada de preguntas cerradas

con respuesta de opción múltiples que nos permitirán contabilizar los

resultados de manera más oportunas.

Estructura del Diagrama

Inicio: Este paso es cuando el usuario escoge nuestra red

ARP: Es cuando este comando entra en acción e identifica y asigna la ip a la

maquina del usuario o cliente

Login: es la pantalla que será mostrada al usuario y en la cual se ingresara el

usuario y contraseña y se verificaran las mismas

Validación Login: aquí se decidirá si tiene acceso o no, si es correcto pasara

al siguiente proceso, caso contrario regresara a la pantalla del Login

Acceso: aquí se hará todo lo necesario para accesar al Squid

Squid aquí se aplicaran las reglas del Squid y se dará acceso a internet o se

regresara al Login

Page 103: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

103

UNIVERSIDAD DE GUAYAQUIL

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas

Computacionales

“Desarrollo de un Cyber Campus con portal cautivo”

Manual Usuario y Técnico

Previo a la Obtención del Título de:

INGENIERO EN SISTEMAS COMPUTACIONALES

Autores:

JESSICA PAOLA ESCOBAR ZUÑIGA

ANNABEL MARIUXI CASTILLO MITE

NARCISA PILAR OROZCO IGUASNIA

GUAYAQUIL-ECUADOR

Año: 2010

Page 104: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

104

Descripción del proyecto

Este es un esquema que mostramos de nuestro proyecto donde se especifica lo que se aloja

en el servidor:

El servidor es el que va a permitir el acceso a la navegación.

El Administrador es el que puede tener acceso a ver reportes, restringir páginas, aplicar

reglas, crear usuarios, etc.

La impresora de ticket es para cuando desee imprimir código y usuario ya sea para un

usuario o usuarios por lotes.

Las máquinas representan a los usuarios que van a navegar inalámbricamente

Page 105: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

105

S

S

N

N

1

INICIO

ARP

Ingreso

LOGIN

Verificación de

usuario y

contraseña

ACCESO

SQUID

1

INTERNET

1

1

Page 106: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

106

Page 107: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

107

MANUAL DE USUARIO

CYBER CAMPUS CON PORTAL

CAUTIVO

Page 108: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

108

CAPITULO 1

Generalidades

1.1 Introducción

Este manual es una guía de consulta para los usuarios con conocimientos básicos

en el uso de Internet, ya que consta de capítulos que son claros y explícitos acerca

de cómo ingresar al Sistema Aquiles (CYBER CAMPUS CON PORTAL CAUTIVO).

Es de gran importancia consultar este manual que mostrara paso a paso el manejo

del sistema.

El sistema Aquiles (CYBER CAMPUS CON PORTAL CAUTIVO), es una

herramienta basada en Linux que brinda acceso a internet por medio de un portal

cautivo.

Page 109: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

109

El objetivo del sistema es que el usuario logre navegar por internet desde su laptop

de manera práctica sin necesidad de utilizar cables de red, para conectarse.

1.2 Objetivo de este Manual

Este manual será de guía a todos los usuarios sobre el manejo de este sistema.

1.3 A quien va Dirigido

Este va orientado a todos los usuarios finales involucrados en el Sistema Aquiles.

(CYBER CAMPUS CON PORTAL CAUTIVO).

Administrador, es la persona encargada de administrar toda la información

que llegue al sistema Aquiles, los usuarios, claves, y reportes.

Usuario General, persona encargada de ingresar a la navegación por medio

del portal cautivo.

Page 110: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

110

CAPITULO 2

2.1 Lo que debe tener

Lo principal es que el usuario o cliente deben tener los conocimiento básico para el

uso de Internet.

2.2 Acerca de este Manual

Este manual contiene diversas instrucciones que el usuario debe seguir paso a paso

para poder manejar correctamente el sistema Aquiles. Además adiciona información

de gran importancia que va a orientar a los usuarios sobre el correcto uso del

mismo.

Page 111: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

111

2.3 Instalación del Sistema Cyber Campus con Portal Cautivo

Para que el Sistema Cyber Campus con Portal Cautivo este operativo,

necesitamos de la instalación y configuración de algunos programas, los mismos

que detallamos a continuación:

2.3.1 Sistema Operativo

El sistema operativo que utiliza el cliente puede ser cualquier Windows,

o Linux que le permita la navegación web.

2.3.2 Paquetes o Programas Adicionales

Debe contar con algún navegador como, Internet Explorer, Mozilla.

2.4 Explicación del Funcionamiento del Sistema Cyber

Campus con Portal Cautivo

Como primer paso el usuario deberá conectarse a nuestra red. Centos AP

Page 112: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

112

Figura No. 1

Una vez Conectado a nuestra red deberá intentar navegar en internet

Al cumplir este paso se abrirá la página de nuestro portal cautivo.

Page 113: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

113

Una vez dentro del portal cautivo, se deberá ingresar el usuario y la contraseña.

Dentro de esta página existe un link **VISITA NUESTRO SITIO WEB GRATIS** Este

link nos llevara a la página web de la Universidad http://www.cisc.ug.edu.ec

Page 114: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

114

Si el usuario y contraseña son validos aparecerá la siguiente pantalla:

Esta pantalla deberá permanecer abierta, durante el tiempo de navegación del

usuario.

Page 115: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

115

Para salir del portal cautivo deberá presionar el botón rojo o la x de la

ventana.

A

l presionar cualquiera de estas dos opciones saldrá la una pantalla de dialogo

preguntando si está seguro de querer salir del portal.

Page 116: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

116

Finalmente el sistema mostrara de nuevo la página del portal esperando el usuario y

contraseña y un mensaje agradeciendo al usuario.

Page 117: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

117

En caso de ser erróneos, será re direccionado al mismo portal cautivo donde tendrá

otra oportunidad de ingresar el usuario y contraseña.

Page 118: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

118

MANUAL TÉCNICO

CYBER CAMPUS CON PORTAL

CAUTIVO

Page 119: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

119

CAPITULO 1

1.1 Introducción

El presente manual se lo ha desarrollado para orientar al administrador que vaya a

utilizar el sistema y así pueda poner en funcionamiento el mismo, se le detallará las

configuraciones necesarias para poner en marcha el sistema de una forma bien

estructurada y así hacerle una tarea más fácil.

El Sistema de Aula Virtual Cyber Campus con Portal Cautivo

esta desarrollado bajo la plataforma Linux al cual se accede mediante un servidor

web, la base de datos que utilizamos es My SQL, que contiene varias tablas para la

Page 120: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

120

manipulación de datos la cual estará relacionada directamente con la administración

de los usuarios.

1.2. Objetivo Generales

El objetivo de este manual se detalla a continuación.

Explican de forma específica y amplia los pasos previos para la utilización

del sistema.

Dar a conocer los recursos que se utilizaron para el respectivo diseño.

CAPITULO 2

2.1 Ambiente Operacional

La publicación del sistema Cyber Campus con Portal Cautivo

en el Servidor donde va a residir, requiere de las siguientes condiciones a nivel de

Hardware y software.

El Sistema Cyber Campus con Portal Cautivo deberá estar almacenado

en un servidor.

Page 121: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

121

2.1.1 Hardware

Para la implementación del sistema Cyber Campus con Portal Cautivo

se necesita contar con mínimo dos equipos, un servidor y un cliente.

El servidor posee las siguientes características:

Procesador Pentium IV CPU 2.06 GHz

Mínimo 1 GB de memoria RAM

Disco Duro de 250GB

Tarjeta de red externa 10/100 D- Link

Tarjeta inalámbrica para PC TP-Link 54 Mbps

Monitor

Teclado y mouse

El cliente puede tener las siguientes propiedades:

Procesador Pentium IV cpu 2.8 Ghz

Mínimo 1 GB de memoria RAM

Disco Duro de 80 GB

Adaptador de red inalámbrico

2.1.2 Software

El software utilizado en el servidor se detalla a continuación:

Page 122: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

122

My SQL (Base de Datos)

Apache, Php

Squid

Sarg

DHCP-SERVER

Iptables

Madwifi

Bandwidth

Webmin

CAPITULO 3

3.1 Identificación de escenarios o casos de uso

En la fase del análisis se identifico los posibles escenarios y actores que interactúan

con el sistema mediante el diagrama de casos de uso representaremos la forma en

como el Usuario - Administrador (Actor) opera con el sistema en desarrollo.

Descripción de Casos de Uso 1:

Page 123: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

123

Nombre: Ingreso al portal

Alias:

Actores: Administrador

Función:

Ingreso de usuario y contraseña del administrador

al sistema

Para poder manipular el sistema el administrador

deberá previamente haber ingresado su usuario y

contraseña.

Referencias:

Tabla 1.1 Ingreso al Portal

Nombre: Creación de usuarios por unidad

Alias:

Actores: Administrador

Función: Crear usuarios del sistema

Deberá escoger la opción cuenta nueva

Referencias:

Tabla 1.2 Creación de usuarios por unidad

Page 124: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

124

Nombre: Creación de usuarios por lotes

Alias:

Actores: Administrador

Función: Crear una cantidad de usuarios al mismo tiempo

Deberá escoger la opción cuenta nueva por lotes

Referencias:

Tabla 1.3 Creación de Usuarios por Lotes

Nombre: Creacion de usuarios y claves

Alias:

Actor: Sistema

Función: El sistema crea usuarios y claves aleatorias

El sistema crea y almacena las claves y los

usuarios que tendrán acceso a internet.

Referencias:

Tabla 3.1 Creacion de Usuarios y Claves

Nombre: Realizar cambio de estatus

Alias:

Page 125: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

125

Actor: Sistema

Función: Cambiar el estado de inactivo a activo y viceversa

Cuando el usuario esta inactivo su estado es 2 y

cuando se encuentra conectado su estado aparecerá

reflejado en el sistema como 1. De esta manera será

importante para el control y el cambio de estado del

usuario.

Referencias:

Tabla 3.2 Realizar cambio de Estatus

Nombre: Almacenamiento

Alias:

Actor: Sistema

Función: Alamacenamiento de información requerida

El sistema almacenara tiempo adquirido, tiempo

restante, ip asignada al cliente, etc.

Referencias:

Tabla 3.3 Almacenamiento

Nombre: Asignación de Costos por tiempo

Alias:

Actor: Administrador

Page 126: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

126

Función:

Encargado de la asignación de los costos a las

diferentes fracciones de tiempo

El administrador tiene la autoridad de asignar a un

determinado costo para las fracciones de tiempo de

navegación

Referencias:

Tabla 4.1 Asignación de Costos por Tiempo

Nombre: Asignación de tiempo

Alias:

Actor: Administrador

Función: Concede el tiempo solicitado por el usuario

Recibe la solicitud para la asignación de tiempo al

usuario.

Referencias:

Tabla 4.2 Asignación de Tiempo

Nombre: Creación de Usuarios y administradores

Alias:

Actor: Administrador

Page 127: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

127

Función:

Se procede a la creación de nuevos usuarios, y

administradores

Crea nuevos usuarios, y administradores.

Referencias:

Tabla 4.3 Creación de Usuarios y Administradores

Capitulo 4

4.1 Bloqueos del Sistema Cyber Campus con Portal Cautivo

Dentro del sistema existe el icono sitios Restringidos, esta opción permite ingresar

los sitios web que el administrador considere no deban ser accesados por el

usuario. Interactúa con un documento llamado deny.txt ubicado en la siguiente ruta:

var/www/html/Aquiles/squid/deny.txt

4.2 IP’s permitidas para la navegación

Page 128: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

128

Una vez conectado el usuario al sistema la ip asignada por el servidor será escrita

en un archivo llamado permitidos.txt que se encuentra ubicado en al siguiente ruta:

var/www/html/aqulies/squid/permitidos.txt

Capitulo 5

5. Estándares y formatos

5.1 Los Estándares de El Sistema Cyber Campus con portal cautivo

Campos

Page 129: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

129

Los campos de las tablas serán escritos en minúsculas, serán separados por un sub

guion, no se permitirán tildes, y deberán dar una clara idea de su función.

Nombres de las tablas

Las tablas comenzaran con la siguiente nomenclatura tb_(nombre tabla), y serán

escritas en letra minúscula.

Claves primarias y secundarias

Las claves primarias y secundarias deben estar representadas por id_(nombre

tabla).

5.2 Portal Cautivo

Los Portales Cautivos más que todo son utilizados para controlar el acceso a

redes Wifi de acceso público; dicha software opera bajo un Portal Cautivo.

Un Portal Cautivo es como un cortafuego que bloquea el acceso a la red de

los usurarios no registrados en dicho portal, a través de su página de inicio.

Una vez registrado el usuario en el portal, puede tener acceso a internet u

Page 130: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

130

otros servicios que tenga permiso. El portal cautivo se instala en la puerta de

enlace de la red (puede ser un servidor, o un hardware con estas

características).

Se caracteriza por diferentes aspectos uno de ellos es el ser capaz de

administrar múltiples Hotspots. Los Hotspots son lugares donde se

proporciona acceso público inalámbrico de banda ancha a Internet a través

de una red de área local inalámbrica (WLAN) compuesta por Puntos de acceso

(Access Point).

Los Hotspots están generalmente ubicados en áreas con alta concentración

de personas como hoteles, universidades, centros de convenciones,

shoppings, cafés y restaurantes, aeropuertos, estaciones de trenes y

autobuses, etc., brindándole así conveniencia y comodidad para conectarse

a Internet. Por lo que un acceso de esta clase requiere también de seguridad,

aquí es donde entra en juego El portal cautivo.

Nuestro Portal cautivo posee:

* Informes y estadística incluyendo: Gracias a una conexión con el programa

SARG.

* Validación de usuario: Gracias a la creación de usuarios y contraseñas, que

son encriptados y almacenados en una base de datos, para luego poder

hacer la validación.

Page 131: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

131

Sarg (Squid Analysis Report Generator)

Es una muy buena herramienta desarrollada por un brasileño llamado Pedro Orso,

que permite saber dónde han estado navegando los usuarios en Internet, a través

del análisis del fichero de log “access.log” del famoso proxy Squid. El poder de esta

herramienta es increíble, pudiendo saber qué usuarios accedieron a qué sitios, a

qué horas, cuantos bytes han sido descargados, relación de sitios denegados,

errores

de autentificación...entre otros. La flexibilidad que puede obtener con Sarg es muy

alta, principalmente para las empresas que quieren tener un control de accesos y

ancho de banda de acceso a Internet.

5.6 INSTALACION DEL SARG

El SARG es el Squid Analisys Report Generatión. En otras palabras, genera

informes a partir de los log del Squid.

Esto es muy útil para saber donde se ha metido cada usuario y en que

momento. Aunque hay que instalarlo en modo texto (consola) y se puede

ejecutar perfectamente en consola. Hay que reconocer que es más dinámico

desde webmin. De todas formas vamos a ver las 2 maneras de utilizar SARG.

Lo primero que hay que hacer y tarea común a las dos formas, es descargar

los fuentes de http://sarg.sourceforge.net/ e instalar con el famoso:

./Configure

Make

Page 132: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

132

Make install

Si queremos podemos modificar el archivo de configuración situado en

/usr/local/sarg/sarg.conf

Dentro de él básicamente tenemos 4 secciones:

1. Selección de idioma

2. Ubicación del archivo de log del squid (access.log)

3. Formato del reporte

4. Con cuanta frecuencia generará un reporte

Nosotros sólo tocaremos las siguientes líneas

Language Spanish (para que le reporte salga en español)

access_log /var/log/Squid/access.log (la ubicación del archivo de log del

Squid)

output_dir /var/www/html/squid-reports (donde guardará el reporte)

Antes de seguir sería conveniente mencionar que tenemos que tener

activado el servicio de apache. De lo contrario no podremos leer el mismo a

través de web. De hecho la salida del reporte deberá apuntar al directorio

raíz del apache (/var/www/html).

Solo nos resta lanzar el Squid para generar el reporte con el siguiente

comando

Sarg -l /var/log/Squid/access.log -o /var/www/html/squid-reports

Con este comando la decimos que coja el log (-l) de /var/log/Squid/access.log

y lo escriba (-o) en /var/www/html/squid-reports.

Page 133: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

133

Fácil, no?

Si lo que queremos es tener un informe de un intervalo de tiempo la

sentencia sería la siguiente.

sarg -d dd/mm/yyyy-dd/mm/yyyy -l /var/log/squid/access.log -o

/var/www/html/squid-reports

Si esto te parece fácil ya verás en el Webmin.

Antes que nada hay que instalar el modulo SARG

Una vez lo tengamos instalado, la interface es muy fácil de seguir

Tenemos las mismas opciones que en el archivo de configuración en los 4

botones

Page 134: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

134

El primero es para opciones generales (archivo de log, archivos de salida,

etc.)

El segundo para opciones de reporte (orden, formato de fecha, etc.)

El tercero para estilo (color, idioma, fuentes, etc.)

El cuarto para programar que se ejecute un reporte cada x tiempo, ideal para

organizar la información.

Si queremos generar un reporte le damos al botón GENERATE REPORT

NOW. Y si queremos ser más específicos seleccionamos 2 fechas.

Si ya tenemos un reporte generado podremos verlo con VIEW GENERATED

REPORT y tendrá el siguiente aspecto:

Page 135: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

135

Primero te muestra una pantalla por días y cuando seleccionas el día te

saldrá la lista de usuarios:

Y cuando entras a usuario te pondrá los sitios y las horas que visitó ese

usuario. No está mal, eh?

Page 136: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

136

Capitulo 6

6. Estructura Física del Modulo

6.1 Tablas del Sistema de Cyber Campus con Portal Cautivo

Tabla Tb_costo

CREATE TABLE `tb_costo`

Page 137: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

137

(

`id_tb_costo` int(8) NOT NULL auto_increment,

`valor` float(8,2) NOT NULL,

`descripcion` varchar(245) NOT NULL, PRIMARY KEY (`id_tb_costo`)

)

Tabla tb_estado

CREATE TABLE `tb_estado`

(

`id_tb_estado` int(8) NOT NULL auto_increment,

`estado` varchar(10) NOT NULL,

`descripcion` varchar(245) NOT NULL, PRIMARY KEY (`id_tb_estado`)

)

Tabla tb_log

CREATE TABLE `tb_log`

(

`id_tb_log` int(8) NOT NULL auto_increment,

`descripcion` varchar(245) NOT NULL,

`fecha` date NOT NULL, `hora` time NOT NULL,

`id_tb_usuario` int(8) NOT NULL, PRIMARY KEY (`id_tb_log`)

)

Page 138: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

138

Tabla tb_regla

CREATE TABLE `tb_regla`

(

`id_tb_regla` int(8) NOT NULL auto_increment,

`tipo` int(8) default NULL,

`puerto` varchar(5) default NULL,

`id_tb_tiempo_usuario` int(8) NOT NULL,

`id_tb_estado` int(8) NOT NULL,

`id_tb_tipousuario` int(8) NOT NULL,

PRIMARY KEY (`id_tb_regla`)

)

Tabla tb_tiempo

CREATE TABLE `tb_tiempo`

(

`id_tb_tiempo` int(8) NOT NULL auto_increment,

`numero` varchar(8) default '00:00:00',

`id_tb_costo` int(8) NOT NULL,

PRIMARY KEY (`id_tb_tiempo`)

)

Page 139: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

139

Tabla tb_tiempo_usuario

CREATE TABLE `tb_tiempo_usuario`

(

`id_tb_tiempo_usuario` int(8) NOT NULL auto_increment,

`id_tb_usuario` int(8) NOT NULL,

`id_tb_tiempo` int(8) NOT NULL,

`ip` varchar(15) default NULL,

`mac` varchar(245) default NULL,

`ini_conex` varchar(8) default NULL,

`fin_conex` varchar(8) default NULL,

`resta_conex` varchar(8) default NULL,

`id_tb_bw` int(8) default '0',

`fecha` varchar(245) NOT NULL,

`id_tb_estado` int(8) NOT NULL,

PRIMARY KEY (`id_tb_tiempo_usuario`)

)

Creación de código

Index.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

Page 140: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

140

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=windows-1252" />

<title>Aquiles -- Sistema de Gestion Red Local</title>

<link href="css/estilos.css" rel="stylesheet" type="text/css">

<script src="js/md5.js" type="text/javascript"></script>

<style type="text/css">

<!--

body {

background-image: url(imagenes/logo_cisc_png.png);

}

-->

</style></head>

<?php

//verifica arreglo si es vacio caso contrario lo pone como null

$msg = isset($_GET['msg']) ? $_GET['msg'] : null ;

if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])!=null)

Page 141: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

141

{

$ip =

$_SERVER["HTTP_X_FORWARDED_FOR"] ;

}

else{

$ip = $_SERVER["REMOTE_ADDR"];

}

//$ip= $_SERVER['REMOTE_ADDR'];

//$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];

//echo $ip;

//echo $ip2;

?>

<body OnLoad="document.f1.login.focus();">

<br />

<br />

<br />

<div align="center">

<form method="post" name="f1" action="conex/valida_login.php">

Page 142: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

142

<input name="txtip" type="hidden" value="<? echo $ip ?>" />

<table width="391" border="0" cellpadding="0" cellspacing="0"

background="imagenes/login.gif">

<!--DWLayoutTable-->

<tr>

<td width="32" height="63">&nbsp;</td>

<td width="141">&nbsp;</td>

<td width="10">&nbsp;</td>

<td width="180">&nbsp;</td>

<td width="31">&nbsp;</td>

</tr>

<tr>

<td height="22">&nbsp;</td>

<td align="right" valign="middle" class="fuente_verde">LOGIN : </td>

<td></td>

<td valign="top"><input name="login" type="text" size="27" /></td>

<td></td>

</tr>

Page 143: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

143

<tr>

<td height="11"></td>

<td></td>

<td></td>

<td></td>

<td></td>

</tr>

<tr>

<td height="22"></td>

<td align="right" valign="middle" class="fuente_verde">CLAVE :</td>

<td></td>

<td valign="top"><input name="clave" type="password" size="27" /></td>

<td></td>

</tr>

<tr>

<td height="19"></td>

<td></td>

<td></td>

Page 144: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

144

<td>&nbsp;</td>

<td>&nbsp;</td>

</tr>

<tr>

<td height="24"></td>

<td></td>

<td></td>

<td align="right" valign="middle">

<input name="Submit" type="submit" class="boton_negro" value="Aceptar"

onclick="javascript:document.f1.clave.value=hex_md5(clave.value);" /> </td>

<td>&nbsp;</td>

</tr>

<tr>

<td height="32"></td>

<td></td>

<td></td>

<td>&nbsp;</td>

<td>&nbsp;</td>

Page 145: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

145

</tr>

</table>

</form>

<p>&nbsp;</p>

</div>

<p align="center" class="text_error"><strong><? echo $msg ; ?></strong></p>

<p align="center" class="text_error">&nbsp;</p>

<p align="center" class="text_error">&nbsp;</p>

<p align="center" class="text_error">&nbsp;</p>

<p align="center" class="text_error"><a href="http://www.cisc.ug.edu.ec/">**VISITA

NUESTRO SITIO WEB GRATIS..**</a></p>

<p align="center" class="text_error">&nbsp;</p>

<p align="center"><strong><? include("cabecera/foot.php"); ?></strong></p>

</body>

</html>

Admin(adminservices.php)

Page 146: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

146

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=windows-1252" />

<title>Aquiles -- Sistema de Gestion Red Local</title>

<link href="../css/estilos.css" rel="stylesheet" type="text/css">

</head>

<?php

$msg= $_GET["msg"];

?>

<body>

<br />

<br />

<br />

<div align="center">

<form method="post" action="../conex/valida_login.php">

Page 147: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

147

<table width="561" border="1">

<!--DWLayoutTable-->

<tr bgcolor="#336600">

<th height="20" scope="col">ID</th>

<th scope="col">Servicio</th>

<th scope="col">Estado </th>

<th scope="col">Accion</th>

</tr>

<tr bgcolor="#669900">

<th height="20" scope="col">1</th>

<th scope="col">http</th>

<th scope="col">ejecutandose</th>

<th scope="col">stop/start/restart</th>

</tr>

<tr bgcolor="#669900">

<th height="20" scope="col">2</th>

<th scope="col">dhcp</th>

Page 148: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

148

<th scope="col">ejecutandose</th>

<th scope="col">stop/start/restart</th>

</tr>

<tr bgcolor="#669900">

<th height="20" scope="col">3</th>

<th scope="col">cbq</th>

<th scope="col">ejecutandose</th>

<th scope="col">stop/start/restart</th>

</tr>

</table>

</form>

<p>&nbsp;</p>

</div>

<p align="center" >&nbsp;</p>

<p align="center"><strong>Aquiles © 2010 Todos los derechos reservados

</strong></p>

</body>

Page 149: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

149

</html>

Admin(adminuser.php)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=windows-1252" />

<title>Aquiles -- Sistema de Gestion Red Local</title>

<link href="../css/estilos.css" rel="stylesheet" type="text/css">

</head>

<?php

$msg= $_GET["msg"];

?>

<body>

<br />

<br />

Page 150: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

150

<br />

<div align="center">

<form method="post" action="../conex/valida_login.php">

<table width="391" border="0" cellpadding="0" cellspacing="0"

background="../imagenes/login.gif">

<!--DWLayoutTable-->

<tr>

<td width="33" height="63">&nbsp;</td>

<td width="120">&nbsp;</td>

<td width="13">&nbsp;</td>

<td width="180">&nbsp;</td>

<td width="45">&nbsp;</td>

</tr>

<tr>

<td height="22">&nbsp;</td>

<td align="right" valign="middle" class="fuente_verde">LOGIN : </td>

<td>&nbsp;</td>

Page 151: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

151

<td valign="top"><label>

<input name="login" type="text" size="30" />

</label></td>

<td>&nbsp;</td>

</tr>

<tr>

<td height="11"></td>

<td></td>

<td></td>

<td></td>

<td></td>

</tr>

<tr>

<td height="22"></td>

<td align="right" valign="middle" class="fuente_verde">CLAVE :</td>

<td></td>

<td valign="top"><input name="clave" type="password" size="30" /></td>

<td>&nbsp;</td>

Page 152: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

152

</tr>

<tr>

<td height="19"></td>

<td></td>

<td></td>

<td>&nbsp;</td>

<td>&nbsp;</td>

</tr>

<tr>

<td height="24"></td>

<td></td>

<td></td>

<td align="right" valign="middle">

<input type="submit" name="Submit" value="Aceptar" /> </td>

<td>&nbsp;</td>

</tr>

<tr>

<td height="32"></td>

Page 153: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

153

<td></td>

<td></td>

<td>&nbsp;</td>

<td>&nbsp;</td>

</tr>

</table>

</form>

<p>&nbsp;</p>

</div>

<p align="center" class="text_error"><strong><? echo $msg ; ?></strong></p>

<p align="center" class="text_error">&nbsp;</p>

<p align="center"><strong>Aquiles © 2010 Todos los derechos reservados

</strong></p>

</body>

</html>

Cabecera(cabeceraadmin.php)

Page 154: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

154

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=windows-1252" />

<title>Aquiles -- Sistema de Gestion Red Local</title>

<link href="../css/estilos.css" rel="stylesheet" type="text/css">

<script type="text/javascript">

function HoraActual(hora, minuto, segundo){

segundo = segundo + 1;

if(segundo == 60) {

minuto = minuto + 1;

segundo = 0;

if(minuto == 60) {

minuto = 0;

hora = hora + 1;

if(hora == 24) {

Page 155: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

155

hora = 0;

}

}

}

if(hora < 10) hora = '0' + hora;

if(minuto < 10) minuto = '0' + minuto;

if(segundo < 10) segundo = '0' + segundo;

HoraCompleta= hora + " : " + minuto + " : " + segundo;

document.getElementById('contenedor_reloj').innerHTML =

HoraCompleta;

setTimeout("HoraActual("+hora+", "+minuto+", "+segundo+")", 1000);

}

</script>

<style type="text/css">

<!--

body {

margin-right: 0px;

margin-top: 0px;

Page 156: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

156

background-image: url(../imagenes/logo_cisc_png.png);

}

#contenedor_reloj {

position:absolute;

left:18px;

top:6px;

width:141px;

height:42px;

z-index:1;

}

-->

</style></head>

<?php

//verifica arreglo si es vacio caso contrario lo pone como null

$msg = isset($_GET['msg']) ? $_GET['msg'] : null ;

session_start();

//incuyo la pag de las funciones

Page 157: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

157

include("../funciones/funciones.php");

?>

<body onload="HoraActual(<?php echo date("H").", ".date("i").", ".date("s"); ?>)">

<div id="contenedor_reloj" class="fuente_verde"></div>

<div align="center">

<table width="585" border="0" background="../imagenes/barramenu.jpg">

<!--DWLayoutTable-->

<tr>

<th width="84" height="20" scope="col"><a href="../main/main.php"><img

src="../imagenes/home.png" alt="Menu Principal" width="45" height="36" border="0"

/></a>

</br>

Home

</th>

<th width="55" scope="col"><a href="../general/squid.php"><img

src="../imagenes/lock.png" width="32" height="32" border="0" /></a>

</br>

Sitios Restringidos

Page 158: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

158

</th>

<? if ( $_SESSION['idtipousuario'] =='1' ){?>

<th width="80" scope="col"><a href="../general/costo.php"><img

src="../imagenes/coins.png" width="32" height="32" border="0" /></a>

</br>

Costos

</th>

<? }?>

<? if ( $_SESSION['idtipousuario'] =='1' ){?>

<th width="80" scope="col"><a href="../general/tiempo.php"><img

src="../imagenes/date-32.png" width="32" height="32" border="0" /></a>

</br>

Tiempo

</th>

<? }?>

<? if ( $_SESSION['idtipousuario'] =='1' ){?>

<th width="65" scope="col"><a href="../general/policy_admin.php"><img

src="../imagenes/rules.png" alt="Politicas Reglas" width="45" height="36" border="0"

/></a>

Page 159: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

159

</br>

Politica

</th>

<? }?>

<th width="64" scope="col"><a href="../usuarios/usuarios.php"><img

src="../imagenes/account.png" alt="Crear Nuevo Usuario del Sistema" width="45"

height="36" border="0" /></a>

</br>

Usuarios

</th>

<? if ( $_SESSION['idtipousuario'] =='1' ){?>

<th width="64" valign="top" scope="col"><a href="../general/bw.php"><img

src="../imagenes/consumo.png" alt="Consumo" width="45" height="36" border="0"

/></a>

</br>

Ancho/Banda

</th>

<? }?>

Page 160: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

160

<th width="65" align="center" valign="middle" scope="col"><a

href="../general/reportes.php"><img src="../imagenes/report.png" alt="Reportes"

width="32" height="32" border="0" /></a>

</br>

Reportes

</th>

<th width="74" valign="top" scope="col"><a href="../index.php"><img

src="../imagenes/logout.png" alt="Salir" width="45" height="36" border="0" /></a>

</br>

Salir

</th>

</tr>

</table>

<br />

</div>

<p class="fuente_verde">Bienvenido: <? echo nombreusuario("{$_SESSION['cod']}")

?>

</body>

</html>

Page 161: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

161

Cabecera(foot.php)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=windows-1252" />

<title>Documento sin t&iacute;tulo</title>

<link href="../css/estilos.css" rel="stylesheet" type="text/css">

</head>

<body>

<p>&nbsp;</p>

<p align="center"><strong>Aquiles &copy; 2010 Todos los derechos reservados

</strong></p>

</body>

</html>

Clients(archivoxls)

Page 162: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

162

<?PHP

header("Content-type: application/vnd.ms-excel");

header("Content-Disposition: filename=\"USUARIOSGENERADO.XLS\";");

session_start();

$vector = $_SESSION['vector'];

//print_r ($vector);

echo "<table border=1>" ;

echo "<tr><th> Usuario </th><th> Clave </th><th> Tiempo </th></tr>";

for($i=0;$i<count($vector);$i++)

{

echo "<tr><td>".$vector[$i]['user']."</td><td>".$vector[$i]['clave']."</td>

<td>".$vector[$i]['tiempo']."</td></tr>";

}//fin for

echo "</table>";

Page 163: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

163

unset($_SESSION['vector']);

?>

Clientes(clientes.php)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=windows-1252" />

<title>Aquiles -- Sistema de Gestion Red Local</title>

<link href="../css/estilos.css" rel="stylesheet" type="text/css">

<script src="../js/md5.js" type="text/javascript"></script>

<script>

function abrir(){

window.open('../general/ticket.php','popup','width=300,height=400');

Page 164: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

164

//document.f1.submit();

document.f1.clave.value=hex_md5(document.f1.clave.value);

}

</script>

</head>

<?php

$msg = isset($_GET['msg']) ? $_GET['msg'] : null ;

include("../cabecera/cabeceraadmin.php");

//GENERA CLAVE ALEATORIAMENTE PARA EL CLIENTE

//$str =

"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890";

$str = "abcdefghijklmnopqrstuvwxyz1234567890";

$cad = "";

for($i=0;$i<12;$i++) {

$cad .= substr($str,rand(0,62),1);

}

//fingeneraclave

Page 165: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

165

//SACER USUARIO PARA CREARUSUARIO SECUENCIAL para crear usuario

numerado luego asigna el valor al TXT LOGIN

$link = mysql_connect("localhost", "root", "aquiles") or die("No se pudo establecer la

conexión con la base de datos...");

mysql_select_db("aquiles", $link);

//SQL a la base

$sql = "SELECT MAX(id_tb_usuario) FROM tb_usuario";

$result = mysql_query($sql, $link) or die ("No se pudo ejecutar

SQL");

if ($result ==0){

echo "Error".mysql_errno().":".mysql_error() ;

}//fin if error

else{

$CodigoMaxUsuario=mysql_fetch_array($result);

$CodigoMaximoUsuario =

"user0".$CodigoMaxUsuario[0];

}//fin else

mysql_free_result($result);

mysql_close($link);

Page 166: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

166

?>

<body >

<br />

<br />

<br />

<div align="center">

<form name="f1" method="post" action="../conex/insert_cliente.php">

<table width="561" border="0">

<!--DWLayoutTable-->

<tr>

<th height="20" colspan="3" background="../imagenes/cab_tabla.gif"

bgcolor="#336633" scope="col">Crea Cuentas Nuevas </th>

</tr>

<tr>

<td height="31" colspan="3" class="text_error" align="center"><strong><? echo

$msg ; ?></strong></td>

</tr>

Page 167: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

167

<tr>

<td height="26" valign="top" bgcolor="#191718">Login</td>

<td colspan="2" valign="top" bgcolor="#232323"><input name="login"

type="text" size="40" value="<? echo $CodigoMaximoUsuario; ?>"/></td>

</tr>

<tr>

<td width="203" height="26" valign="top" bgcolor="#191718">Clave</td>

<td colspan="2" valign="top" bgcolor="#232323"><input name="clave1"

type="password" disabled="disabled" size="30" value="<? echo $cad;?>" /><input

type="hidden" value="<? echo $cad;?>" name="encript" /><input name="clave"

type="hidden" value="<? echo $cad;?>" /></td>

</tr>

<tr>

<td height="26" colspan="3" valign="top" bgcolor="#191718"

background="../imagenes/cab_tabla.gif"><div align="center">

<!--<input name="Submit" type="button" class="boton_negro" value="Generar

Clave" />-->

</div></td>

Page 168: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

168

</tr>

<tr>

<td height="26" valign="top" bgcolor="#191718">Hora(s)</td>

<td colspan="2" valign="top" bgcolor="#232323"><label>

<?

$link = mysql_connect("localhost", "root","aquiles") or die("No se pudo establecer la

conexión con la base de datos...");

mysql_select_db("aquiles", $link);

//$sql = "SELECT * FROM tb_tiempo, WHERE id_tb_tiponumero=$xtipo";

$sql_min = "SELECT time.numero , time.id_tb_tiempo FROM tb_tiempo as time,

tb_costo as cos WHERE cos.id_tb_costo=time.id_tb_costo ";

$result = mysql_query($sql_min, $link) ;//or die ("Favor Ingrese datos a Buscar...!");

if ($result ==0){

echo "Error".mysql_errno().":".mysql_error() ;

}//fin if error

else{

if ($row = mysql_fetch_array($result)){

echo '<select name= "horas">';

Page 169: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

169

//llena combo box

do {

echo '<option value=

"'.$row["id_tb_tiempo"].'">'.$row["numero"].'</option>';

} while ($row = mysql_fetch_array($result));

echo '</select>';

}//fin if

}//fin else

?>

</label></td>

</tr>

<tr>

<td height="26" valign="top" bgcolor="#191718"><!--DWLayoutEmptyCell--

>&nbsp;</td>

<td colspan="2" valign="top" bgcolor="#232323"><label></label></td>

</tr>

<tr>

<td height="13" colspan="3"></td>

Page 170: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

170

</tr>

<tr align="center" valign="middle" background="../imagenes/cab_tabla.gif">

<td height="29" colspan="3"><div align="center">

<?

$_SESSION['user']=$CodigoMaximoUsuario ;

$_SESSION['passw']=$cad ;

?>

<input name="Submit" type="submit" class="boton_negro" value="Guardar e

Imprimir" onclick="javascript:abrir();"/>

</div></td>

</tr>

</table>

</form>

<p>&nbsp;</p>

</div>

<p align="center" >&nbsp;</p>

<p align="center"><strong><? include("../cabecera/foot.php"); ?></strong></p>

</body>

Page 171: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

171

</html>

Clientes(clientes_batch.php)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=windows-1252" />

<title>Aquiles -- Sistema de Gestion Red Local</title>

<link href="../css/estilos.css" rel="stylesheet" type="text/css">

<script src="../js/md5.js" type="text/javascript"></script>

</head>

<?php

include("../cabecera/cabeceraadmin.php");

$msg = isset($_GET['msg']) ? $_GET['msg'] : null ;

$vector= array();

Page 172: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

172

$vector = isset($_SESSION['vector'])?$_SESSION['vector']:null;

//SACER USUARIO PARA CREARUSUARIO SECUENCIAL para crear usuario

numerado luego asigna el valor al TXT LOGIN

$link = mysql_connect("localhost", "root", "aquiles") or die("No se pudo establecer la

conexión con la base de datos...");

mysql_select_db("aquiles", $link);

//SQL a la base

$sql = "SELECT MAX(id_tb_usuario) FROM tb_usuario";

$result = mysql_query($sql, $link) or die ("No se pudo ejecutar SQL");

if ($result ==0){

echo "Error".mysql_errno().":".mysql_error() ;

}//fin if error

else{

$CodigoMaxUsuario=mysql_fetch_array($result);

$CodigoMaximoUsuario =

"user0".$CodigoMaxUsuario[0];

}//fin else

mysql_free_result($result);

Page 173: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

173

mysql_close($link);

?>

<body >

<br />

<br />

<br />

<div align="center">

<form name="f1" method="post" action="../conex/insert_cliente_batch.php">

<table width="561" border="0">

<!--DWLayoutTable-->

<tr>

<th height="20" colspan="3" background="../imagenes/cab_tabla.gif"

bgcolor="#FFFFFF" scope="col">Crea Cuentas Nuevas Por Lotes </th>

</tr>

<tr>

<td height="31" colspan="3" class="text_error" align="center"><strong><? echo

$msg ; ?></strong></td>

Page 174: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

174

</tr>

<?php

if (count($vector)!=0){

// echo count($vector);

//print_r ($vector);

?>

<tr>

<td height="31" colspan="3" class="text_error" align="center"><strong><a

href="archivoxls.php" target="_blank" >Abrir Archivo Generado</a></strong></td>

</tr>

<?

}//fin if valida vector.

?>

<tr>

<td height="26" valign="top" bgcolor="#191718">Cantidad</td>

<td colspan="2" valign="top" bgcolor="#232323"><input name="cantidad"

type="text" size="10" /></td>

</tr>

Page 175: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

175

<tr>

<td height="26" valign="top" bgcolor="#191718">Login Ultimo usuario Creado

</td>

<td colspan="2" valign="top" bgcolor="#232323" class="text_error"> <? echo

$CodigoMaximoUsuario; ?></td>

</tr>

<tr>

<td height="26" colspan="3" valign="top" bgcolor="#191718"

background="../imagenes/cab_tabla.gif"><div align="center">

<!--<input name="Submit" type="button" class="boton_negro" value="Generar

Clave" />-->

</div></td>

</tr>

<tr>

<td height="26" valign="top" bgcolor="#191718">Tiempo</td>

<td colspan="2" valign="top" bgcolor="#232323"><label>

<?

$link = mysql_connect("localhost", "root","aquiles") or die("No se pudo establecer la

conexión con la base de datos...");

Page 176: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

176

mysql_select_db("aquiles", $link);

//$sql = "SELECT * FROM tb_tiempo, WHERE

id_tb_tiponumero=$xtipo";

$sql_min = "SELECT time.numero , time.id_tb_tiempo FROM

tb_tiempo as time, tb_costo as cos WHERE cos.id_tb_costo=time.id_tb_costo ";

$result = mysql_query($sql_min, $link) ;//or die ("Favor Ingrese

datos a Buscar...!");

if ($result ==0){

echo "Error".mysql_errno().":".mysql_error() ;

}//fin if error

else{

if ($row = mysql_fetch_array($result)){

echo '<select name= "horas">';

//llena combo box

do {

echo '<option value=

"'.$row["id_tb_tiempo"].'">'.$row["numero"].'</option>';

} while ($row = mysql_fetch_array($result));

echo '</select>';

Page 177: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

177

}//fin if

}//fin else

?>

</label></td>

</tr>

<tr>

<td height="26" valign="top" bgcolor="#191718"><!--DWLayoutEmptyCell--

>&nbsp;</td>

<td colspan="2" valign="top" bgcolor="#232323"><label></label></td>

</tr>

<tr>

<td height="13" colspan="3"></td>

</tr>

<tr align="center" valign="middle" background="../imagenes/cab_tabla.gif">

<td height="29" colspan="3"><div align="center">

<?

//$_SESSION['user']=$CodigoMaximoUsuario ;

Page 178: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

178

//$_SESSION['passw']=$cad ;

?>

<input name="Submit" type="submit" class="boton_negro" value="Generar

Archivo" />

</div></td>

</tr>

</table>

</form>

<p>&nbsp;</p>

</div>

<p align="center" >&nbsp;</p>

<p align="center"><strong><? include("../cabecera/foot.php"); ?></strong></p>

</body>

</html>

Clients(logout.php)

<?php

//inicializo la session para usar codigo de usuario

session_start();

Page 179: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

179

//fincion LOG

include("../funciones/save_log.php");

include("../funciones/quita_ip.php");

include("../funciones/quita_ip_cbq.php");

include("../funciones/quita_regla.php");

//Trae variables para registrar usuario nuevo

$lip= $_SESSION['ip'];

$lmac= $_SESSION['mac'];

$lfin_conex= date("H:i:s",time());

$lresta_conex= $_SESSION['trestante'];

$fecha=date("y/m/d H:i:s");

$msg = isset($_GET['msg']) ? $_GET['msg'] : "Gracias Por Usar Nuestro

Sistema...!!!" ;

//conex a la base SQL

$link = mysql_connect("localhost", "root", "aquiles") or die("No se

pudo establecer la conexión con la base de datos...");

mysql_select_db("aquiles", $link);

//SQL a la base

Page 180: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

180

//SACO EL ULTIMO REGISTRO DEL USAURIO EN LA TABLA PARA

ACTUALIZAR EL ESTADO A INACTIVO

$sql_select="SELECT MAX(id_tb_tiempo_usuario),id_tb_tiempo

FROM tb_tiempo_usuario WHERE id_tb_usuario='{$_SESSION['cod']}' GROUP BY

(id_tb_usuario)";

$result_select = mysql_query($sql_select, $link) or die ("No se pudo

ejecutar SQL SELECT");

$row = mysql_fetch_array($result_select);

//saco el id de tb_tiempo_usuario

$lcod_txu=$row['0'];

$lcod_tiempo=$row['id_tb_tiempo'];

//SACA EL ULTIMO REGISTRO Y LO CAMBIA A ESTADO 2 ANADIENDO LOS

DATOS DE LAS FECHA DE CONEX, TIEMPO RESTANTE, TIEMPO FIN DE

CONEXION

$sql = "UPDATE tb_tiempo_usuario SET

id_tb_usuario='{$_SESSION['cod']}'

,id_tb_tiempo='$lcod_tiempo',ip='$lip',mac='$lmac',fin_conex='$lfin_conex',resta_con

ex='$lresta_conex',fecha='$fecha',id_tb_estado='2' WHERE

id_tb_tiempo_usuario='$lcod_txu' ";

$result = mysql_query($sql, $link) or die ("No se pudo ejecutar SQL

UPDATE");

Page 181: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

181

//Eliminamos las reglas aplicadas al cliente.

//echo "1";

$sql_upd_reglas = "UPDATE tb_regla SET id_tb_estado='2' WHERE

id_tb_tiempo_usuario='$lcod_txu' ";

//$sql_upd_reglas = " DELETE FROM tb_regla WHERE

id_tb_tiempo_usuario='$lcod_txu' ";

$result = mysql_query($sql_upd_reglas, $link) or die ("No se pudo

ejecutar SQL UPDATE REGLAS");

//se elimina la ip de los archivps permitidos de squid ..... para evitar la

navegacion

quita_ip($lip);

//quita ip de los archivos del cbq

quita_ip_cbq($lip);

###### QUITA REGLA IPTABLES

$sql_regla = "SELECT reg.tipo, reg.puerto, tmus.ip FROM tb_regla

as reg , tb_tiempo_usuario AS tmus, tb_estado AS est, tb_tipousuario AS tip

WHERE tmus.id_tb_tiempo_usuario=reg.id_tb_tiempo_usuario AND

reg.id_tb_estado=est.id_tb_estado AND reg.id_tb_tipousuario=tip.id_tb_tipousuario

AND reg.id_tb_tiempo_usuario='$lcod_txu' ";

Page 182: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

182

$result_regla = mysql_query($sql_regla, $link) or die ("No se pudo ejecutar

SQL saca datos de regla para eliminar");

$row_regla = mysql_fetch_array($result_regla);

//saco el id de saco los datos para eliminar regla de archivo

//echo "2";

$lipr=$row_regla['ip'];

$lpuertor=$row_regla['puerto'];

$ltipor=$row_regla['tipo'];

//echo "3";

quita_regla($lipr,$lpuertor,$ltipor);

#######

//GUARDO EN EL LOG CON LA FUNCION SAVE_LOG()

$descripcion="Salio del sistema el Usuario: {$_SESSION['cod']} ...!!";

save_log("{$_SESSION['cod']}",$descripcion);

header("location: ../index.php?msg=$msg");

mysql_close($link);

?>

Clientes(maincliente.php)

Page 183: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

183

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<link href="../css/estilos.css" rel="stylesheet" type="text/css">

<script src="../js/funciones.js" type="text/javascript"></script>

<script language="JavaScript" type="text/javascript"

src="../js/ajax_logout.js"></script>

<title>Aquiles -- Sistema de Gestion Red Local</title>

<script type="text/javascript">

function HoraActual(hora, minuto, segundo){

segundo = segundo + 1;

if(segundo == 60) {

minuto = minuto + 1;

segundo = 0;

if(minuto == 60) {

Page 184: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

184

minuto = 0;

hora = hora + 1;

if(hora == 24) {

hora = 0;

}

}

}

if(hora < 10) hora = '0' + hora;

if(minuto < 10) minuto = '0' + minuto;

if(segundo < 10) segundo = '0' + segundo;

HoraCompleta= hora + " : " + minuto + " : " + segundo;

document.getElementById('contenedor_reloj').innerHTML =

HoraCompleta;

setTimeout("HoraActual("+hora+", "+minuto+", "+segundo+")", 1000);

}

</script>

<?

session_start();

Page 185: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

185

//incuyo la pag de las funciones, para que no se repita el logo background-repeat:

no-repeat;

include("../funciones/funciones.php");

?>

<style type="text/css">

<!--

body {

background-image: url(../imagenes/logo_cisc_png.png);

}

-->

</style></head>

<body onload="HoraActual(<?php echo date("H").", ".date("i").",".date("s"); ?>)"

onResize="parent.resizeTo(640,580)" onbeforeunload="logout(); return false">

<div id="contenedor_reloj" class="fuente_verde"></div>

<p align="center" ><a href="logout.php"><img src="../imagenes/logout.png"

alt="Salir" width="45" height="36" border="0" /></a></p>

Page 186: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

186

<p class="fuente_verde">Bienvenido: <? echo nombreusuario("{$_SESSION['cod']}")

?></p>

<p align="center"><iframe src="maincliente_in.php" border="0" width=950

height=350 ></iframe></p>

<div id="resultado" align="center" class="text_error"></div>

</body>

</html>

Clients(mainclientes_in.php)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">

<meta HTTP-EQUIV="refresh" content="5">

<link href="../css/estilos.css" rel="stylesheet" type="text/css">

<script src="../js/funciones.js" type="text/javascript"></script>

<script language="JavaScript" type="text/javascript"

src="../js/ajax_logout.js"></script>

<title>Aquiles -- Sistema de Gestion Red Local</title>

Page 187: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

187

</head>

<?

session_start();

//incuyo la pag de las funciones

include("../funciones/funciones.php");

include("../funciones/restahoras.php");

include("../funciones/get_mac.php");

//IP DEL SERVIDOR REMOTO

if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])!=null)

{

$ip = $_SERVER["HTTP_X_FORWARDED_FOR"] ;

}

else{

$ip = $_SERVER["REMOTE_ADDR"];

}

//$ip= $_SERVER['REMOTE_ADDR'];

$resta_conex_sess =$_SESSION['resta_conex_sess'];

Page 188: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

188

//saca mac por ip

$mac=get_mac($ip);

//SACAMOS LOS DATOS PARA MOSTRARLOS EN EL MAIN DEL CLIENTE

//SQL a la base

$link = mysql_connect("localhost", "root", "aquiles") or die("No se pudo

establecer la conexión con la base de datos...");

mysql_select_db("aquiles", $link);

//##################################################################

############

$sql_max="SELECT MAX(tmus.id_tb_tiempo_usuario),tmus.resta_conex

FROM tb_tiempo_usuario AS tmus, tb_usuario AS usu, tb_tiempo AS time WHERE

tmus.id_tb_usuario='{$_SESSION['cod']}' AND

tmus.id_tb_usuario=usu.id_tb_usuario AND tmus.id_tb_tiempo=time.id_tb_tiempo

GROUP BY (usu.id_tb_usuario)";

$result_max = mysql_query($sql_max, $link) or die ("No se pudo ejecutar

SQL");

if ($result_max ==0){

echo "Error".mysql_errno().":".mysql_error() ;

}//fin if error

else{

Page 189: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

189

$reg2=mysql_fetch_array($result_max);

$id_tiempo_contratado=$reg2['0'];

}//fin else if sql_max

$sql="SELECT usu.login, time.numero, tmus.ini_conex, tmus.resta_conex

FROM tb_tiempo_usuario AS tmus, tb_usuario AS usu, tb_tiempo AS time WHERE

tmus.id_tb_tiempo_usuario='$id_tiempo_contratado' AND

tmus.id_tb_usuario=usu.id_tb_usuario AND tmus.id_tb_tiempo=time.id_tb_tiempo ";

//echo $sql;

$result = mysql_query($sql, $link) or die ("No se pudo ejecutar SQL");

if ($result == 0){

echo "Error".mysql_errno().":".mysql_error() ;

}//fin if error

else{

$reg=mysql_fetch_array($result);

$tiempo_inicio=$reg['ini_conex'];

$tiempo_contratado=$reg['numero'];

$lresta_conex=$reg['resta_conex'];

}//fin else

Page 190: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

190

//##########################

//##########################

//VALIDANDO NUEVAMENTE TODO

//echo $lresta_conex;

$cero="00:00:00";

$str_cero=strtotime( $cero );

$str_resta_conex=strtotime( $lresta_conex );

//valido si tengo saldo

//echo $str_resta_conex;

//echo "--";

//echo $str_cero;

//echo "--";

if ($str_resta_conex>$str_cero){

//echo "si tengo saldo --";

$horaconex=date("H").":".date("i").":".date("s");

$tiempo_transcurrido=restahoras($tiempo_inicio,$horaconex);

//VALIDO SI ES LA PRIMERA VEZ QUE INGRESO

Page 191: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

191

if (strtotime($lresta_conex)==strtotime(

$tiempo_contratado )){

$consumo=restahoras($tiempo_transcurrido,$tiempo_contratado);

//echo "si es la primera vez";

}//fin if

//es el saldo original sin recarga

if (strtotime( $tiempo_contratado )>

strtotime($lresta_conex)){

$consumo=restahoras($tiempo_transcurrido,$resta_conex_sess);

//echo $consumo;

//echo "if";

}

//ES RECARGA

else{

$consumo=restahoras($tiempo_transcurrido,$resta_conex_sess);

//echo $consumo;

Page 192: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

192

//echo "else";

}

if

(strtotime($consumo)>strtotime($tiempo_contratado)){

//Pongo en 0 el contador de saldo

echo "no tiene saldo 1";

$consumo="00:00:00";

$_SESSION['trestante']=$consumo;

$msg="Sin saldo";

header("location:

logout.php?msg=$msg");

}

//FIN VALIDO SI ES LA PRIMERA VEZ QUE INGRESO

//SACO EL ULTIMO REGISTRO DEL USAURIO EN LA TABLA PARA

ACTUALIZAR LOS DATOS EN TIEMPO_USUARIO

$sql_select="SELECT MAX(id_tb_tiempo_usuario),id_tb_tiempo

FROM tb_tiempo_usuario WHERE id_tb_usuario='{$_SESSION['cod']}' GROUP BY

(id_tb_usuario)";

Page 193: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

193

$result_select = mysql_query($sql_select, $link) or die ("No se pudo

ejecutar SQL SELECT");

$row = mysql_fetch_array($result_select);

//saco el id de tb_tiempo_usuario

$cod_txu=$row['0'];

$cod_tiempo=$row['id_tb_tiempo'];

//ultimo minuto de conexion

$fin_conex= date(" H:i:s",time());

//subo a la session el consumo del cliente

$_SESSION['trestante']=$consumo;

//SACA EL ULTIMO REGISTRO Y LO ACTUALIZA CON LOS DATOS DE LA

SESSION ACTUAL

$sql_update = "UPDATE tb_tiempo_usuario SET

id_tb_usuario='{$_SESSION['cod']}'

,id_tb_tiempo='$cod_tiempo',ip='$ip',mac='$mac',fin_conex='$fin_conex',resta_cone

x='$consumo' WHERE id_tb_tiempo_usuario='$cod_txu' ";

$result = mysql_query($sql_update, $link) or die ("No se pudo

ejecutar SQL UPDATE");

}

Page 194: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

194

else {

//si no tiene saldo

//Pongo en 0 el contador de saldo

echo "no tiene saldo";

$consumo="00:00:00";

$_SESSION['trestante']=$consumo;

$msg="Sin saldo";

header("location: logout.php?msg=$msg");

} // fin else

?>

<body >

<!--<p align="center" ><a href="logout.php" onClick="cambiarvalor()"><img

src="../imagenes/logout.png" alt="Salir" width="45" height="36" border="0"

/></a></p>-->

<!--<p class="text_cliente">Bienvenido: <? //echo

nombreusuario("{$_SESSION['cod']}") ?></p>-->

Page 195: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

195

<div align="left">

<table width="557" border="0">

<tr>

<td width="140" background="../imagenes/cab_tabla.gif">Hora de

Conexion:</td>

<td width="150" background="../imagenes/cab_tabla.gif"><? echo

$tiempo_inicio; ?></td>

<td width="35" colspan="2" rowspan="5">&nbsp;</td>

</tr>

<tr>

<td background="../imagenes/cab_tabla.gif">Contratado:</td>

<td background="../imagenes/cab_tabla.gif"><? echo $tiempo_contratado;

?></td>

</tr>

<tr>

<td background="../imagenes/cab_tabla.gif">Consumo Actual:</td>

<td background="../imagenes/cab_tabla.gif"><? echo $tiempo_transcurrido;

?></td>

</tr>

Page 196: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

196

<tr>

<td background="../imagenes/cab_tabla.gif">Saldo Restante:</td>

<td background="../imagenes/cab_tabla.gif"><? echo $consumo; ?></td>

</tr>

<tr>

<td background="../imagenes/cab_tabla.gif">IP Asignada:</td>

<td background="../imagenes/cab_tabla.gif"><? echo $ip; ?></td>

</tr>

</table>

</div>

<p class="text_cliente">Grafico de Consumo</p>

<?

$filename = '../imagenes/consumo/'.$ip.'-1-R.png';

if (file_exists($filename)) { ?>

<img src="../imagenes/consumo/<?=$ip?>-1-R.png"

width="601" height="168" />

<? } else { ?>

<p class="text_error">El Archivo se esta generando intente nuevamente....!</p>

Page 197: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

197

<? } //fin else ?>

<?

$_SESSION['ip']=$ip ;

$_SESSION['mac']=$mac ;

?>

</body>

</html>

Conex(edit_usuarios.php)

<?php

//funcion guarda log

include("../funciones/save_log.php");

//inicio session

session_start();

//Trae variables para registrar horas a alquilar nuevas

$lcod =$_GET['codigo'];

//Trae variables para registrar usuario nuevo

Page 198: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

198

$llogin= $_POST["login"];

$lclave= $_POST["clave"];

$lclaverre= $_POST["claverre"];

$ldescripcion= $_POST["descripcion"];

$ltipousu= $_POST["tipousu"];

$lestado= $_POST["estado"];

$ltime_contratado= $_POST['tiempo'];

$ltime_real= $_POST['tiempo_real'];

$lsaldo= $_POST['saldo'];

//$idtipousuario=$_SESSION['idtipousuario'];

//comparo las claves para ver si son = correctas

if($lclave=='d41d8cd98f00b204e9800998ecf8427e'){$lclave=" ";}

if($lclaverre=='d41d8cd98f00b204e9800998ecf8427e'){$lclaverre=" ";}

if ($lclave==$lclaverre){

//conex a la base SQL

$link = mysql_connect("localhost", "root", "aquiles") or die("No se

pudo establecer la conexión con la base de datos...");

Page 199: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

199

mysql_select_db("aquiles", $link);

#################################

if($ltime_contratado!='no'){

//saco el tiempo actual selecionado

$sql_tiempo="SELECT numero FROM tb_tiempo WHERE

id_tb_tiempo='$ltime_contratado' ";

$result_tiempo = mysql_query($sql_tiempo, $link);

if ($result_tiempo ==0){echo "Error".mysql_errno().":".mysql_error()

;}//fin if error

$contratado_tiempo=mysql_result($result_tiempo,0,'numero');

//saco el codigo del ultimo tienpo para asumarlo

$sql_max_id="SELECT MAX(id_tb_tiempo_usuario) FROM

tb_tiempo_usuario WHERE id_tb_usuario='$lcod' ";

$result_max_id = mysql_query($sql_max_id, $link);

if ($result_max_id ==0){echo "Error".mysql_errno().":".mysql_error()

;}//fin if error

$reg_tmus=mysql_fetch_array($result_max_id);

$max_id_tmsu=$reg_tmus[0];

//SUMA LOS TIEMOS

Page 200: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

200

$minuit = strtotime("00:00:00.00");

$contratado_tiempo=$contratado_tiempo.".0";

$lsaldo=$lsaldo.".0";

$timestamp1=strtotime($contratado_tiempo)-$minuit;

$timestamp2=strtotime($lsaldo)-$minuit;

$suma=$timestamp2+$timestamp1+$minuit;

//echo $suma;

$suma=date("H:i:s",$suma);

//saco el código ultimo tiempo registrado por usuario update

$sql_update_tmus="UPDATE tb_tiempo_usuario SET

resta_conex='$suma' WHERE id_tb_tiempo_usuario='$max_id_tmsu' ";

$result_update_tmus= mysql_query($sql_update_tmus, $link);

}//fin if verifica si cambio el tiempo contratado

else{$ltime_contratado=$ltime_real;}

//#################################

//SI ES CLIENTE

if ($ltipousu==3){

//SQL a la base si es cliente

Page 201: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

201

if ($lclave!=" "){

//si la calve no esta vacia la actualizo caso contrario no hago nada en el campo

clave

$sql= "UPDATE tb_usuario AS usu, tb_tiempo AS time, tb_tiempo_usuario AS tmus

SET usu.login='$llogin',usu.clave='$lclave', usu.descripcion='$ldescripcion',

usu.id_tb_tipousuario='$ltipousu' ,usu.id_tb_estado='$lestado',

tmus.id_tb_tiempo='$ltime_contratado' WHERE usu.id_tb_usuario=$lcod AND

usu.id_tb_usuario=tmus.id_tb_usuario AND tmus.id_tb_tiempo=time.id_tb_tiempo";

}else{

$sql= "UPDATE tb_usuario AS usu, tb_tiempo AS time, tb_tiempo_usuario AS tmus

SET usu.login='$llogin', usu.descripcion='$ldescripcion',

usu.id_tb_tipousuario='$ltipousu' ,usu.id_tb_estado='$lestado',

tmus.id_tb_tiempo='$ltime_contratado' WHERE usu.id_tb_usuario=$lcod AND

usu.id_tb_usuario=tmus.id_tb_usuario AND tmus.id_tb_tiempo=time.id_tb_tiempo";

}

//lleno variable para grabar log para regarga

$descripcion="Se realizo una recarga al usuario :$llogin Contratado:

$contratado_tiempo Saldo Actual: $suma Nuevo Saldo: $ltime_contratado ";

}//fin if valida tipo de usuario para guardar tiempo

Page 202: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

202

else{

//SQL a la base si es adminsitrador o cajero

if ($lclave!=" "){

//si la calve no esta vacia la actualizo caso contrario no hago nada en el campo

clave

$sql = "UPDATE tb_usuario SET login='$llogin',clave='$lclave',

descripcion='$ldescripcion', id_tb_tipousuario='$ltipousu' ,id_tb_estado='$lestado'

WHERE id_tb_usuario=$lcod";

}else{

$sql = "UPDATE tb_usuario SET login='$llogin', descripcion='$ldescripcion',

id_tb_tipousuario='$ltipousu' ,id_tb_estado='$lestado' WHERE id_tb_usuario=$lcod";

}

//lleno variable para grabar log para cambio de clave

$descripcion="Se realizo un cambio de clave al usuario :$llogin ";

}//fin else modifica tiempo usuario

$result = mysql_query($sql, $link);// or die ("No se pudo ejecutar

SQL");

if ($result ==0){echo "Error".mysql_errno().":".mysql_error() ;}//fin if

error

Page 203: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

203

else{

//GUARDO EN EL LOG CON LA FUNCION SAVE_LOG()

save_log("{$_SESSION['cod']}",$descripcion);

$msg="Registro guardado con exito...!!!";

header("location: ../usuarios/usuarios.php?msg=$msg");

}//fin else error

}//fin if compara clave

else{

$msg="Las Claves no son iguales favor intentar nuevamente...!!!";

header("location: ../usuarios/usuarios.php?msg=$msg");

}//fin else valida claves iguales

mysql_close($link);

?>

Conex(genera_reporte.php)

<?php

Page 204: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

204

//funcion guarda log

//error_reporting( );

$ebits = ini_get('error_reporting');

error_reporting($ebits ^ E_NOTICE);

//require_once('class.ezpdf.php');

include ("../clases/class.ezpdf.php");

//####

$tipo= $_POST["tipo"];

$cmb_usuario= $_POST["cmb_usuario"];

$fecha= $_POST["fecha"];

//#####CLASE PARA GENERAR EL PDF DE LOS REPORTES

$pdf =& new Cezpdf('a4');

$pdf->selectFont("../clases/fonts/Courier.afm");

$pdf->ezSetCmMargins(1,1,1.5,1.5);

//conex a la base

Page 205: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

205

$link = mysql_connect("localhost", "root","aquiles") or die("No se pudo establecer la

conexión con la base de datos...");

mysql_select_db("aquiles", $link);

switch ($tipo){

//##################################################################

########

//por todos los usuarios

case '0':

$sql="SELECT log.descripcion,log.fecha,log.hora,usu.login FROM tb_log AS log,

tb_usuario AS usu WHERE log.id_tb_usuario=usu.id_tb_usuario";

$result = mysql_query($sql, $link) or

die(mysql_error());//fin if error

$totEmp = mysql_num_rows($result);

$ixx = 0;

while($datatmp = mysql_fetch_assoc($result)) {

$ixx = $ixx+1;

$data[] = array_merge($datatmp, array('num'=>$ixx));

}//fin while cod indentificacion para cada fila

$titles = array(

Page 206: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

206

'num'=>'<b>Num</b>',

'login'=>'<b>Codigo Usuarios</b>',

'descripcion'=>'<b>Descripcion</b>',

'fecha'=>'<b>Fecha</b>',

'hora'=>'<b>Hora</b>'

);

$options = array(

'shadeCol'=>array(0.9,0.9,0.9),

'xOrientation'=>'center',

'width'=>500

);

//#####TITULO DEL ARCHIVO

$txttit = "<b>Reportes Sistema AQUILES.</b>\n";

$txttit.= "Todos los Registros \n";

//####FIN DEL TITULO PARA GENERAR PDF

break;//fin case busca a todos

//##################################################################

##########

Page 207: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

207

//##################################################################

##########

//1 por codigo de usuario

case '1':

$sql="SELECT log.descripcion,log.fecha,log.hora,usu.login FROM tb_log AS log,

tb_usuario AS usu WHERE log.id_tb_usuario=usu.id_tb_usuario AND

log.id_tb_usuario='$cmb_usuario' ";

$result = mysql_query($sql, $link) or

die(mysql_error());//fin if error

$totEmp = mysql_num_rows($result);

$ixx = 0;

while($datatmp = mysql_fetch_assoc($result)) {

$ixx = $ixx+1;

$data[] = array_merge($datatmp, array('num'=>$ixx));

}//fin while cod indentificacion para cada fila

$titles = array(

'num'=>'<b>Num</b>',

'login'=>'<b>Codigo Usuarios</b>',

'descripcion'=>'<b>Descripcion</b>',

Page 208: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

208

'fecha'=>'<b>Fecha</b>',

'hora'=>'<b>Hora</b>'

);

$options = array(

'shadeCol'=>array(0.9,0.9,0.9),

'xOrientation'=>'center',

'width'=>500

);

//#####TITULO DEL ARCHIVO

$txttit = "<b>Reportes Sistema AQUILES.</b>\n";

$txttit.= "Reporte de Actividades por usuario \n";

//####FIN DEL TITULO PARA GENERAR PDF

break;//fin case busca a usuario por codigo

//##################################################################

##########

//##################################################################

##########

//2 si es por fecha del log general

Page 209: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

209

case '2':

$sql="SELECT

log.descripcion,log.fecha,log.hora,usu.login FROM tb_log AS log, tb_usuario AS usu

WHERE log.fecha='$fecha' AND log.id_tb_usuario=usu.id_tb_usuario ";

$result = mysql_query($sql, $link) or

die(mysql_error());//fin if error

$totEmp = mysql_num_rows($result);

$ixx = 0;

while($datatmp = mysql_fetch_assoc($result)) {

$ixx = $ixx+1;

$data[] = array_merge($datatmp, array('num'=>$ixx));

}//fin while cod indentificacion para cada fila

$titles = array(

'num'=>'<b>Num</b>',

'login'=>'<b>Codigo Usuarios</b>',

'descripcion'=>'<b>Descripcion</b>',

'fecha'=>'<b>Fecha</b>',

'hora'=>'<b>Hora</b>'

Page 210: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

210

);

$options = array(

'shadeCol'=>array(0.9,0.9,0.9),

'xOrientation'=>'center',

'width'=>500

);

//#####TITULO DEL ARCHIVO

$txttit = "<b>Reportes Sistema AQUILES.</b>\n";

$txttit.= "Reporte de Actividades por usuario \n";

//####FIN DEL TITULO PARA GENERAR PDF

break;//fin case busca a usuario por codigo

//##################################################################

##########

//##################################################################

##########

//3 Ingresos al sistema

case '3':

Page 211: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

211

$sql="SELECT log.descripcion,log.fecha,log.hora, usu.login FROM tb_log AS log,

tb_usuario AS usu WHERE log.descripcion LIKE '%ingreso%' AND

log.id_tb_usuario=usu.id_tb_usuario ";

$result = mysql_query($sql, $link) or

die(mysql_error());//fin if error

$totEmp = mysql_num_rows($result);

$ixx = 0;

while($datatmp = mysql_fetch_assoc($result)) {

$ixx = $ixx+1;

$data[] = array_merge($datatmp, array('num'=>$ixx));

}//fin while cod indentificacion para cada fila

$titles = array(

'num'=>'<b>Num</b>',

'login'=>'<b>Codigo Usuarios</b>',

'descripcion'=>'<b>Descripcion</b>',

'fecha'=>'<b>Fecha</b>',

'hora'=>'<b>Hora</b>'

);

Page 212: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

212

$options = array(

'shadeCol'=>array(0.9,0.9,0.9),

'xOrientation'=>'center',

'width'=>500

);

//#####TITULO DEL ARCHIVO

$txttit = "<b>Reportes Sistema AQUILES.</b>\n";

$txttit.= "Reporte de Actividades por usuario \n";

//####FIN DEL TITULO PARA GENERAR PDF

break;//fin case Busca ingresos al sistema

//##################################################################

##########

//##################################################################

##########

//4 Salida del sistema

case '4':

$sql="SELECT log.descripcion,log.fecha,log.hora,

usu.login FROM tb_log AS log, tb_usuario AS usu WHERE log.descripcion LIKE

'%salio%' AND log.id_tb_usuario=usu.id_tb_usuario ";

Page 213: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

213

$result = mysql_query($sql, $link) or

die(mysql_error());//fin if error

$totEmp = mysql_num_rows($result);

$ixx = 0;

while($datatmp = mysql_fetch_assoc($result)) {

$ixx = $ixx+1;

$data[] = array_merge($datatmp, array('num'=>$ixx));

}//fin while cod indentificacion para cada fila

$titles = array(

'num'=>'<b>Num</b>',

'login'=>'<b>Codigo Usuarios</b>',

'descripcion'=>'<b>Descripcion</b>',

'fecha'=>'<b>Fecha</b>',

'hora'=>'<b>Hora</b>'

);

$options = array(

'shadeCol'=>array(0.9,0.9,0.9),

'xOrientation'=>'center',

Page 214: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

214

'width'=>500

);

//#####TITULO DEL ARCHIVO

$txttit = "<b>Reportes Sistema AQUILES.</b>\n";

$txttit.= "Reporte de Actividades por usuario \n";

//####FIN DEL TITULO PARA GENERAR PDF

break;//fin case Busca ingresos al sistema

//##################################################################

##########

}//fin switch

//########GENERO EL ARCHIVO

$pdf->ezText($txttit, 12);

$pdf->ezTable($data, $titles, '', $options);

$pdf->ezText("\n\n\n", 10);

$pdf->ezText("<b>Fecha:</b> ".date("d/m/Y"), 10);

$pdf->ezText("<b>Hora:</b> ".date("H:i:s")."\n\n", 10);

Page 215: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

215

$pdf->ezStream();

//########FIN DE GENERAR ARCHIVO

//$pdf = new Cezpdf();

//$pdf->selectFont('fonts/Helvetica.afm');

//$pdf->ezText('Mi primer pdf en PHP', 30);

//$pdf->ezStream();

?>

Conex(insert_bw.php)

<?php

//Trae variables para registrar horas a alquilar nuevas

$lbw = $_POST['bw'] ;

$lcmtipobw = $_POST['tipobw'] ;

//conex a la base SQL

Page 216: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

216

$link = mysql_connect("localhost", "root", "aquiles") or die("No se pudo establecer la

conexión con la base de datos...");

mysql_select_db("aquiles", $link);

//SQL a la base

//if guarda BW

$sql = "INSERT INTO tb_bw (valorbw,tipo) VALUES ('$lbw','$lcmtipobw')";

$result = mysql_query($sql, $link);// or die ("No se pudo ejecutar SQL");

if ($result ==0){

echo "Error".mysql_errno().":".mysql_error() ;

}

else{

$msg="Registros guardados con exito...!!!";

header("location: ../general/bw.php?msg=$msg");

}//fin else

mysql_close($link);

?>

Conex(insert_cliente.php)

<?php

Page 217: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

217

session_start();

//Trae variables para registrar usuario nuevo

$llogin= $_POST["login"];

$lclave= $_POST['clave'];

$lcod_tiempo= $_POST["horas"];

$lencriptada= $_POST["encript"];

$ldescripcion= "Cliente Web";

//3 USUARIO DEL SISTEMA

$ltipousu= "3";

//1 ACTIVO

$lestado= "1";

$fecha= date ("y/m/d");

$hora= date(" H:i",time());

$fecha_hora=date("y/m/d H:i:s");

//funcion para grbar ticket del cliente

include("../funciones/crea_ticket.php");

//conex a la base SQL

Page 218: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

218

$link = mysql_connect("localhost", "root", "aquiles") or die("No se pudo establecer la

conexión con la base de datos...");

mysql_select_db("aquiles", $link);

//SQL a la base

$sql = "INSERT INTO tb_usuario

(login,clave,descripcion,id_tb_tipousuario,id_tb_estado) VALUES

('$llogin','$lclave','$ldescripcion','$ltipousu','$lestado')";

$result = mysql_query($sql, $link); //or die ("No se pudo ejecutar

SQL");

if ($result ==0){

echo "Error".mysql_errno().":".mysql_error() ;

}//fin if error

else{

//SACO EL CODIGO DEL USUARIO INGRESADO PARA AINSERTAR

TIEMPO_USUARIO

$sql_max= "SELECT MAX(id_tb_usuario) FROM

tb_usuario";

$result_max = mysql_query($sql_max, $link) or die

("No se pudo ejecutar SQL");

$row_max = mysql_fetch_array($result_max) ;

Page 219: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

219

$lcodusr_max=$row_max[0];

//FIN SACO ULTIMO CODIGO INGRESADO

//saco el numero del tiempo para grabarlo en resta_conex de la tabla

tiempo_usuario

$sql_des_time= "SELECT numero FROM tb_tiempo WHERE

id_tb_tiempo='$lcod_tiempo' ";

$result_time = mysql_query($sql_des_time, $link) or die ("No se pudo ejecutar SQL

TIME");

$row_time = mysql_fetch_array($result_time) ;

$lnumero_time=$row_time[0];

//INSERO TIEMPO USUARIO

$sql_time_usu = "INSERT INTO tb_tiempo_usuario

(id_tb_usuario,id_tb_tiempo,ip,mac,ini_conex,fin_conex,resta_conex,id_tb_bw,fecha,

id_tb_estado) VALUES ('$lcodusr_max','$lcod_tiempo',' ',' ',' ',' ','$lnumero_time','

','$fecha_hora','2')";

$result_time_usu = mysql_query($sql_time_usu, $link);// or die ("No se pudo

ejecutar SQL");

//FIN DE INSERTO USUARIO

if ($result_time_usu ==0){

echo "Error".mysql_errno().":".mysql_error() ;

Page 220: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

220

}//fin if error

//graba log

$sql_cod = "SELECT id_tb_usuario, login FROM tb_usuario WHERE

id_tb_usuario={$_SESSION['cod']}";

$result2 = mysql_query($sql_cod, $link) or die ("No se pudo ejecutar SQL");

$row = mysql_fetch_array($result2) ;

$lcodusr=$row['id_tb_usuario'];

$login_admin=$row['login'];

$descrip= "Se creo un suario nuevo: $llogin desde la cuenta de: ".$row['login'];

$sql_log = "INSERT INTO tb_log (descripcion,fecha,hora,id_tb_usuario) VALUES

('$descrip','$fecha','$hora','$lcodusr')";

$result3 = mysql_query($sql_log, $link) or die ("No se pudo ejecutar SQL");

//CREA TICKET

crea_ticket($lencriptada,$login_admin,$llogin);

//FIN DE CREA TICKET

$msg="Registro guardado con exito...!!!";

header("location: ../clientes/clientes.php?msg=$msg");

}//fin else error

Page 221: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

221

mysql_close($link);

?>

Conex(insert_cliente_batch.php)

<?php

session_start();

//Trae variables para registrar usuario nuevo

//$llogin= $_POST["login"];

//$lclave= $_POST['clave'];

$lcantidad= $_POST['cantidad'];

$lcod_tiempo= $_POST["horas"];

//$lencriptada= $_POST["encript"];

$ldescripcion= "Cliente Web";

//3 USUARIO DEL SISTEMA

$ltipousu= "3";

//1 ACTIVO

$lestado= "1";

$fecha= date ("y/m/d");

$hora= date(" H:i",time());

Page 222: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

222

$fecha_hora=date("y/m/d H:i:s");

//conex a la base SQL

$link = mysql_connect("localhost", "root", "aquiles") or die("No se pudo establecer la

conexión con la base de datos...");

mysql_select_db("aquiles", $link);

########################################

$vector = array();

$id_vec=0;

//WHILE para repetir la cantidad de usuarios

while ($lcantidad>0){

//SQL SACAR ID MAXIMO

$sql = "SELECT MAX(id_tb_usuario) FROM tb_usuario";

$result = mysql_query($sql, $link) or die ("No se pudo ejecutar SQL");

if ($result ==0){

echo "Error".mysql_errno().":".mysql_error() ;

}//fin if error

else{

Page 223: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

223

$CodigoMaxUsuario=mysql_fetch_array($result);

$lcodusr_max=$CodigoMaxUsuario[0];

$llogin = "user0".$CodigoMaxUsuario[0];

}//fin else

//FIN SACA ID MAXIMO

//GENERO CLAVE PAR GUARDAR

$str = "abcdefghijklmnopqrstuvwxyz1234567890";

$cad = "";

for($i=0;$i<12;$i++) {

$cad .= substr($str,rand(0,62),1);

}

$cad2=$cad;

$lclave = md5 ( $cad );

//FIN GÉNERO CLAVE PARA GUARDAR

//inserto datos en la base

$sql = "INSERT INTO tb_usuario

(login,clave,descripcion,id_tb_tipousuario,id_tb_estado) VALUES

('$llogin','$lclave','$ldescripcion','$ltipousu','$lestado')";

Page 224: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

224

$result = mysql_query($sql, $link); //or die ("No se pudo ejecutar

SQL");

if ($result ==0){

echo "Error".mysql_errno().":".mysql_error() ;

}//fin if error

else{

//saco el numero del tiempo para grabarlo en resta_conex de la tabla

tiempo_usuario

$sql_des_time= "SELECT numero FROM tb_tiempo

WHERE id_tb_tiempo='$lcod_tiempo' ";

$result_time = mysql_query($sql_des_time, $link) or

die ("No se pudo ejecutar SQL TIME");

$row_time = mysql_fetch_array($result_time) ;

$lnumero_time=$row_time[0];

//VECTOR PARA GENERAR EL XLS

$vector [$id_vec] ['user'] = $llogin;

$vector [$id_vec] ['clave'] =$cad2;

$vector [$id_vec] ['tiempo'] =$lnumero_time;

//FIN DE GENERAR XLS

Page 225: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

225

//INSERO TIEMPO USUARIO

$sql_time_usu = "INSERT INTO tb_tiempo_usuario

(id_tb_usuario,id_tb_tiempo,ip,mac,ini_conex,fin_conex,resta_conex,id_tb_bw,fecha,

id_tb_estado) VALUES ('$lcodusr_max','$lcod_tiempo',' ',' ',' ',' ','$lnumero_time','

','$fecha_hora','2')";

$result_time_usu = mysql_query($sql_time_usu, $link);// or die ("No se pudo

ejecutar SQL");

//FIN DE INSERTO USUARIO

if ($result_time_usu ==0){

echo "Error".mysql_errno().":".mysql_error() ;

}//fin if error

//graba log

$sql_cod = "SELECT id_tb_usuario, login FROM

tb_usuario WHERE id_tb_usuario={$_SESSION['cod']}";

$result2 = mysql_query($sql_cod, $link) or die ("No se

pudo ejecutar SQL");

$row = mysql_fetch_array($result2) ;

$lcodusr=$row['id_tb_usuario'];

$login_admin=$row['login'];

Page 226: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

226

$descrip= "Se creo un usuario nuevo: $llogin desde la

cuenta de: ".$row['login'];

$sql_log = "INSERT INTO tb_log

(descripcion,fecha,hora,id_tb_usuario) VALUES

('$descrip','$fecha','$hora','$lcodusr')";

$result3 = mysql_query($sql_log, $link) or die ("No se

pudo ejecutar SQL");

$msg="Registro guardado con exito...!!!";

header("location: ../clientes/clientes_batch.php?msg=$msg");

}//fin else error

//}//fin else

//resto uno a cantidad

$id_vec=$id_vec+1;

$lcantidad=$lcantidad-1;

}//fin while

######################################################

$_SESSION['vector']=$vector ;

mysql_close($link);

Page 227: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

227

?>

Conex(insert_costo.php)

<?php

//Trae variables para registrar horas a alquilar nuevas

$lcosto = $_POST['costo'];

$ldescri = $_POST['txtdescripcion'];

//conex a la base SQL

$link = mysql_connect("localhost", "root", "aquiles") or die("No se pudo establecer la

conexión con la base de datos...");

mysql_select_db("aquiles", $link);

//SQL a la base

$sql = "INSERT INTO tb_costo (valor,descripcion) VALUES

('$lcosto','$ldescri')";

$result = mysql_query($sql, $link);// or die ("No se pudo ejecutar SQL");

if ($result ==0){

echo "Error".mysql_errno().":".mysql_error() ;

}

else{

Page 228: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

228

$msg="Registros guardados con exito...!!!";

header("location: ../general/costo.php?msg=$msg");

}

mysql_close($link);

?>

Conex(insert_policy.php)

<?php

session_start();

//funcion LOG

include("../funciones/save_log.php");

include("../funciones/get_user_cod_policy.php");

include("../funciones/get_tip_user.php");

//Trae variables para registrar horas a alquilar nuevas

$ltipo_regla = $_POST['tipo_regla'] ;

$lip_regla = $_POST['ip_regla'] ;

$lpuerto_regla = $_POST['puerto_regla'] ;

$IPTABLES="/sbin/iptables";

//llamada a la funcion saca codigo

Page 229: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

229

$cod_cli=get_user_cod_policy($lip_regla);

//llamoa funcion que saca tipo de usuario que registra la regla

$tipuser=get_tip_user();

//conex a la base SQL

$link = mysql_connect("localhost", "root", "aquiles") or die("No se pudo establecer la

conexión con la base de datos...");

mysql_select_db("aquiles", $link);

//SQL a la base

//Saco el codigo de Tiempo Usuario

$sql_cod_tmus= " SELECT tmus.id_tb_tiempo_usuario FROM

tb_tiempo_usuario AS tmus WHERE tmus.id_tb_usuario='$cod_cli' AND

tmus.id_tb_estado='1' ";

$result_tmus = mysql_query($sql_cod_tmus, $link) or die ("No se pudo ejecutar

SQL CASA CODIFO CLIENTE");

$row = mysql_fetch_array($result_tmus);

$lcod_tmus=$row['0'];

$sql = "INSERT INTO tb_regla

(tipo,puerto,id_tb_tiempo_usuario,id_tb_estado,id_tb_tipousuario) VALUES

('$ltipo_regla','$lpuerto_regla','$lcod_tmus','1','$tipuser')";

Page 230: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

230

$result = mysql_query($sql, $link);// or die ("No se pudo ejecutar SQL");

if ($result ==0){

echo "Error".mysql_errno().":".mysql_error() ;

}

else{

//GUARDO EN EL LOG CON LA FUNCION SAVE_LOG()

$descripcion="El Usuario: {$_SESSION['cod']} ...!! anadio la regla

$ltipo_regla - $lpuerto_regla - $lip_regla ";

save_log("{$_SESSION['cod']}",$descripcion);

#########Guardando regla para iptables

$regla_tcp="$IPTABLES -A $ltipo_regla -s $lip_regla -p tcp --dport $lpuerto_regla -j

DROP";

$regla_udp="$IPTABLES -A $ltipo_regla -s $lip_regla -p udp --dport $lpuerto_regla -j

DROP";

$fp = fopen("/var/www/html/aquiles/firewall/reglas","a");

fwrite($fp, $regla_tcp.PHP_EOL);

fwrite($fp, $regla_udp.PHP_EOL);

Page 231: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

231

fclose($fp);

//reinicia el squid

//exec("sudo service squid reload",$respuesta);

exec("sudo

/var/www/html/aquiles/firewall/./rules.aquiles",$respuesta);

#########

$msg="Se anadio regla...!!!";

header("location:

../general/policy.php?msg=$msg&ip_cliente=$lip_regla");

}//fin else

mysql_close($link);

?>

Conex(insert_policy_admin.php)

<?php

//arranco la session para sacar codigo usuario

session_start();

//fincion LOG

include("../funciones/save_log.php");

Page 232: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

232

include("../funciones/get_tmus_cod_policy.php");

include("../funciones/get_tip_user.php");

//Trae variables para registrar horas a alquilar nuevas

$ltipo_regla = $_POST['tipo_regla'] ;

$lip_regla = $_POST['ip_regla'] ;

$lpuerto_regla = $_POST['puerto_regla'] ;

$IPTABLES="/sbin/iptables";

if ($lip_regla!='0/0'){

//llamada a la funcion saca codigo

$cod_tmus=get_tmus_cod_policy($lip_regla);

}//fin saca codigo de time_usuario

else{

//para aplicarlo a todos los usurios

$cod_tmus='0';

}//fin esl saca codigo time usuario

//saca tipo de usuario

$tipuser=get_tip_user();

//conex a la base SQL

Page 233: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

233

$link = mysql_connect("localhost", "root", "aquiles") or die("No se pudo establecer la

conexión con la base de datos...");

mysql_select_db("aquiles", $link);

//SQL a la base

//if guarda regla para cliente

$sql = "INSERT INTO tb_regla

(tipo,puerto,id_tb_tiempo_usuario,id_tb_estado,id_tb_tipousuario) VALUES

('$ltipo_regla','$lpuerto_regla','$cod_tmus','1','$tipuser')";

$result = mysql_query($sql, $link);// or die ("No se pudo ejecutar SQL");

if ($result ==0){

echo "Error".mysql_errno().":".mysql_error() ;

}

else{

//GUARDO EN EL LOG CON LA FUNCION SAVE_LOG()

$descripcion="El Usuario: {$_SESSION['cod']} ...!! anadio la regla

$ltipo_regla - $lpuerto_regla - $lip_regla ";

save_log("{$_SESSION['cod']}",$descripcion);

//EXEC AL ARCHIVO DE LAS REGLAS

//system ('sudo /var/www/html/aquiles/firewall/firewall.sh');

Page 234: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

234

#########Guardando regla para iptables

$regla_tcp="$IPTABLES -A $ltipo_regla -s $lip_regla -p tcp --dport $lpuerto_regla -j

DROP";

$regla_udp="$IPTABLES -A $ltipo_regla -s $lip_regla -p udp --dport $lpuerto_regla -j

DROP";

$fp = fopen("/var/www/html/aquiles/firewall/reglas","a");

fwrite($fp, $regla_tcp.PHP_EOL);

fwrite($fp, $regla_udp.PHP_EOL);

fclose($fp);

//reinicia el squid

//exec("sudo service squid reload",$respuesta);

exec("sudo

/var/www/html/aquiles/firewall/./rules.aquiles",$respuesta);

#########

$msg="Se anadio regla...!!!";

header("location: ../general/policy_admin.php?msg=$msg");

}//fin else

Page 235: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

235

mysql_close($link);

?>

Conex(insert_tiempo.php)

<?php

//Trae variables para registrar horas a alquilar nuevas

$lhoras = isset($_POST['horas']) ? $_POST['horas'] : '00' ;

$lcmbcosto = $_POST['costo'] ;

//$lminutos = isset($_POST['minutos']) ? $_POST['minutos'] : '00' ;

//$segundos= "00";

//$cattime=$lhoras.":".$lminutos.":".$segundos;

$cattime=$lhoras;

//conex a la base SQL

$link = mysql_connect("localhost", "root", "aquiles") or die("No se pudo establecer la

conexión con la base de datos...");

mysql_select_db("aquiles", $link);

//SQL a la base

//if guarda horas

Page 236: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

236

$sql_h = "INSERT INTO tb_tiempo (numero,id_tb_costo) VALUES

('$cattime','$lcmbcosto')";

$result = mysql_query($sql_h, $link);// or die ("No se pudo ejecutar SQL");

if ($result ==0){

echo "Error".mysql_errno().":".mysql_error() ;

}

else{

$msg="Registros guardados con exito...!!!";

header("location: ../general/tiempo.php?msg=$msg");

}//fin else

mysql_close($link);

?>

Conex(insert_usuario.php)

<?php

//Trae variables para registrar usuario nuevo

$llogin= $_POST["login"];

$lclave= $_POST["clave"];

$lclaverre= $_POST["claverre"];

Page 237: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

237

$ldescripcion= $_POST["descripcion"];

$ltipousu= $_POST["tipousu"];

//ACTIVO SIEMPRE

$lestado= "1";

//comparo las claves para ver si son = correctas

if ($lclave==$lclaverre){

//conex a la base SQL

$link = mysql_connect("localhost", "root", "aquiles") or die("No se

pudo establecer la conexión con la base de datos...");

mysql_select_db("aquiles", $link);

//SQL a la base

$sql = "INSERT INTO tb_usuario

(login,clave,descripcion,id_tb_tipousuario,id_tb_estado) VALUES

('$llogin','$lclave','$ldescripcion','$ltipousu','$lestado')";

$result = mysql_query($sql, $link) or die ("No se pudo ejecutar SQL");

if ($result ==0){

echo "Error".mysql_errno().":".mysql_error() ;

}//fin if error

Page 238: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

238

else{

$msg="Registro guardado con exito...!!!";

header("location: ../usuarios/usuarios.php?msg=$msg");

}//fin else error

}//fin if compara clave

else{

$msg="Las Claves no son iguales favor intentar nuevamente...!!!";

header("location: ../usuarios/usuarios.php?msg=$msg");

}//fin else valida claves iguales

mysql_close($link);

?>

Conex(valida_login.php)

<?php

//Trae variables para validar login

$llogin= $_POST["login"];

$lclave= $_POST["clave"];

Page 239: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

239

$lremoteip= $_POST["txtip"];

$fecha= date("y/m/d");

$hora= date(" H:i",time());

$fecha_hora=date("y/m/d H:i:s");

//arranca la session

session_start();

//include("../funciones/get_mac.php");

include("../funciones/save_log.php");

include("../funciones/guarda_iptables.php");

function get_mac($ip){

$lines = file('/var/www/html/aquiles/scripts/archive/resultado.txt');

foreach ($lines as $line_num => $line) {

$datos = explode(";", $line);

//ip

if ( $ip==$datos[0]){

$mac = $datos[2];

Page 240: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

240

}//fin if

} //fin foreach

//sacamos datos del usuario para mostrarlos

return ($mac);

}

//conex a la base SQL

$link = mysql_connect("localhost", "root", "aquiles") or die("No se pudo establecer la

conexión con la base de datos...");

mysql_select_db("aquiles", $link);

//SQL a la base

$sql = "SELECT * FROM tb_usuario as usu WHERE usu.login='$llogin' and

usu.id_tb_estado='1' ";

$result = mysql_query($sql, $link) or die ("No se pudo ejecutar SQL");

if ($result ==0){

echo "Error".mysql_errno().":".mysql_error() ;

}//fin if error

else{

//reviso si hay resultados en las consultas

Page 241: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

241

if(($filas = mysql_num_rows($result))!=0){

//pregunto por la clave si son iguales

if ($lclave == mysql_result($result, 0, "clave")){

//pido el codigodel usuario que ingreso

$lcodusr=mysql_result($result, 0, "id_tb_usuario") ;

$descrip= "Ingreso al Sistema del Usuario: $llogin desde la ip:

$lremoteip..!! ";

//graba en el log

save_log($lcodusr,$descrip);

//asigno el usuario a la sesion

$_SESSION['cod']=$lcodusr ;

$_SESSION['idtipousuario']=mysql_result($result, 0, "id_tb_tipousuario");

//Si es = a 1 es daministrador 2 es cajero 3 es cliente

//if ("1" == mysql_result($result, 0, "id_tb_tipousuario"))

//{

switch (mysql_result($result, 0, "id_tb_tipousuario")){

case '1':

//"ES ADMINISTRADOR";

Page 242: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

242

header("location: ../main/main.php");

break;

//}//fin IF

//else

//{

case '2':

//"ES CAJERO";

header("location: ../main/main.php");

break;

case '3':

//VERIFICAR SI YA ESTA DENTRO DEL SISTEMA

//echo "es clientes";

$sql_verifica="SELECT id_tb_tiempo_usuario FROM tb_tiempo_usuario WHERE

id_tb_estado='1' AND id_tb_usuario='$lcodusr' ";

$result_verifica =

mysql_query($sql_verifica, $link) ;

if(($filas =

mysql_num_rows($result_verifica))!=0){

Page 243: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

243

$msg="Usuario ya esta dentro, no intente burlar la sistema...!!!";

header("location: ../index.php?msg=$msg");

//exit();

}//fin if

//fin verificar si ya esta dentro del sistema

//SACA MAC DE ARCHIVO SERVER PARA GUARDARLA EN LA TABLA DE

TIEMPOUSUARIO

//mac del cliente

$mac=get_mac($lremoteip);

$horaconex=date("H").":".date("i").":".date("s");

//saca ultimo registro guardado de el usuario

$sql_select= "SELECT

id_tb_usuario,id_tb_tiempo,ip,mac,ini_conex,fin_conex,resta_conex,id_tb_bw,fecha,i

d_tb_estado FROM tb_tiempo_usuario WHERE id_tb_usuario='$lcodusr' AND

id_tb_tiempo_usuario=(SELECT MAX(id_tb_tiempo_usuario) FROM

tb_tiempo_usuario WHERE id_tb_usuario='$lcodusr')";

$result_select = mysql_query($sql_select, $link) or die ("No se pudo ejecutar SQL

SELECT");

Page 244: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

244

//inserto el nuevo registro con los datos nuevos.

$tiempo_sql=mysql_result($result_select, 0, "id_tb_tiempo");

$tiempo_restante_servicio=mysql_result($result_select, 0, "resta_conex");

//cargo a la session el tiempo de conexion restante del cliente

$_SESSION['resta_conex_sess']=$tiempo_restante_servicio ;

//guardo el nuevo registro del tiempo nuevos

$sql_insert= "INSERT INTO tb_tiempo_usuario

(id_tb_usuario,id_tb_tiempo,ip,mac,ini_conex,fin_conex,resta_conex,id_tb_bw,fecha,

id_tb_estado) VALUES('$lcodusr','$tiempo_sql','$lremoteip','$mac', '$horaconex','

','$tiempo_restante_servicio',' ','$fecha_hora','1')";

$result_insert =

mysql_query($sql_insert, $link) or die ("No se pudo ejecutar SQL INSERT");

//grabo la ip en el archivo de ips allow

//graba_ip($lremoteip);

//Ejecutar reglas para poder dar permisos de navegacion

$path_squid="/var/www/html/aquiles/squid/permitidos.txt";

Page 245: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

245

//########################

if(!file_exists($path_squid)){

touch($path_squid);

chmod($path_squid,0777);

$apache='apache';

chown($path_squid,$apache);

}//fin if

//########################

graba_permitidos($lremoteip);

#########################################

##############

//"ES CLIENTES";

header("location: ../clientes/maincliente.php");

//}//fin else

break;

}//fin case

}//fin if clave_

else

Page 246: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

246

{

$msg="El usuario o la clave son incorrectos...!!!";

//grabo intentos fallidos de acceso

$descrip= "Intento de ingreso al Sistema del Usuario: $llogin desde la ip:

$lremoteip..!! ";

//graba en el log

save_log($lcodusr,$descrip);

header("location: ../index.php?msg=$msg");

}//fin else

}//fin if filas

else{

$msg="Datos Incorrectos...!!!";

//grabo intentos fallidos de acceso

$descrip= "Intento de ingreso al Sistema del Usuario: $llogin desde la ip:

$lremoteip..!! ";

//graba en el log

save_log($lcodusr,$descrip);

Page 247: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

247

header("location: ../index.php?msg=$msg");

}//FIN ELSE FILAS

}//fin else error

mysql_close($link);

?>

General(consumo_graph)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=windows-1252" />

<title>Documento sin t&iacute;tulo</title>

<link href="../css/estilos.css" rel="stylesheet" type="text/css">

</head>

<?

$ip_cliente= isset($_GET['ip']) ? $_GET['ip'] : null ;

?>

Page 248: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

248

<body>

<table width="919" border="0">

<tr>

<td width="41" rowspan="3" valign="top"><a href="tablamain.php"><img

src="../imagenes/back.png" width="32" height="32" border="0" /></a> </td>

<td width="353" align="center" valign="middle"

background="../imagenes/cab_tabla.gif" ><strong>Consumo del cliente :

</strong></td>

<td width="511" align="left" valign="middle"

background="../imagenes/cab_tabla.gif" class="text_error"><?= $ip_cliente; ?></td>

</tr>

<tr>

<td colspan="2"><img src="../imagenes/consumo/legend.gif" width="877"

height="25" /></td>

</tr>

<tr>

<?

$filename = '../imagenes/consumo/'.$ip_cliente.'-1-R.png';

if (file_exists($filename)) { ?>

Page 249: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

249

<td colspan="2"><img src="../imagenes/consumo/<?=$ip_cliente?>-1-

R.png" width="877" height="210" /></td>

<? } else { ?>

<td colspan="2" align="center" valign="middle"

class="text_error">El Archivo se esta generando intente nuevamente....!</td>

<? } //fin else ?>

</tr>

</table>

</body>

</html>

General(ping.php)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

Page 250: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

250

<title>Documento sin t&iacute;tulo</title>

<link href="../css/estilos.css" rel="stylesheet" type="text/css">

<style type="text/css">

<!--

body {

margin-left: 0px;

margin-top: 0px;

margin-right: 0px;

margin-bottom: 0px;

}

-->

</style></head>

<body>

<table width="665" border="0">

<?

//$lines = file('/var/www/html/aquiles/scripts/archive/resultado.txt');

Page 251: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

251

//include("../funciones/get_user_tablamain.php");

//include("../funciones/get_user_consumo_tablamain.php");

$ip = isset($_GET['ip']) ? $_GET['ip'] : null ;

?>

<!--DWLayoutTable-->

<tr>

<td><a href="tablamain.php"><img src="../imagenes/back.png"

width="32" height="32" border="0" /></a> </td>

</tr>

<tr bgcolor="#242424" background="../imagenes/cab_tabla.gif">

<th width="176" height="20" scope="col" ><div align="center">Ping A la IP --

&gt; </div></th>

<th width="479" scope="col"><div align="center"><?= $ip; ?></div></th>

</tr>

<tr>

<td colspan="2"> <? exec ("/bin/ping -c 5 ".$ip, $respuesta);

echo "<pre>" . join("\r\n", $respuesta)."</pre>"; ?> </td>

</tr>

Page 252: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

252

</table>

</body>

</html>

General(tablamain.php)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<meta HTTP-EQUIV="refresh" content="5">

<title>Documento sin t&iacute;tulo</title>

<link href="../css/estilos.css" rel="stylesheet" type="text/css">

<link href="../css/tabla.css" rel="stylesheet" type="text/css">

</head>

<body>

Page 253: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

253

<table width="920" border="0">

<?

$lines = file('/var/www/html/aquiles/scripts/archive/resultado.txt');

include("../funciones/get_user_tablamain.php");

include("../funciones/get_user_consumo_tablamain.php");

?>

<!--DWLayoutTable-->

<tr bgcolor="#242424" background="../imagenes/cab_tabla.gif">

<th width="19" height="20" scope="col" ><div align="center">ID</div></th>

<th width="135" scope="col"><div align="center">USUARIO</div></th>

<th width="117" scope="col"><div align="center">IP </div></th>

<th width="129" scope="col"><div align="center">MACADDREESS

</div></th>

<th width="74" align="center" valign="middle" scope="col"><div

align="center">TIEMPO</div></th>

<th width="57" align="center" valign="top" scope="col"><div

align="center">REGLAS</div></th>

Page 254: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

254

<th width="88" valign="top" scope="col"><div

align="center">CONSUMO</div></th>

<th width="84" valign="top" scope="col"><div align="center">LOG</div></th>

</tr>

<?

$int=TRUE;

$capt=1;

//indice de cada linea

$cont=0;

foreach ($lines as $line_num => $line) {

$datos = explode(";", $line);

//cambio el color de la celda

if ($int==TRUE){

$colorfil="#333333";

$int=FALSE;

}

else{

$colorfil="#494949";

Page 255: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

255

$int=TRUE;

}

if($capt!=1){

?>

<tr bgcolor="<? echo $colorfil ?>">

<td height="26" scope="col"><div align="center"><? echo $cont?></div></td>

<? //SACA LA NOMBRE DE USUARIO ?>

<td scope="col"><div align="center"><? echo

get_user_tablamain($datos[0] );?></div></td>

<? //SACA LA IP ?>

<td scope="col"><div align="center"><a href="ping.php?ip=<?=

$datos[0]?>"><?= $datos[0] ?></a></div></td>

<? //SACA LA MAC ?>

<td scope="col"><div align="center"><?= $datos[2] ?></div></td>

<td scope="col"><div align="center"><? echo

get_user_consumo_tablamain($datos[0] );?></div></td>

<? //APARECE REGLAS O NO Y CONSUMO

$texto_user=get_user_tablamain($datos[0] );

Page 256: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

256

if ($texto_user=="NOT LOGGED IN"){?>

<td width="57" align="center" valign="middle" scope="col"><div

align="center"><img src="../imagenes/favorite_remove.png" width="24" height="24"

/></div></td>

<td width="88" valign="top" scope="col"><div align="center"><img

src="../imagenes/chart_remove.png" width="24" height="24" /></div></td>

<? }else{?>

<td width="84" align="center" valign="middle" scope="col"><div

align="center"><a href="policy.php?ip_cliente=<?= $datos[0]?>"><img

src="../imagenes/favorite.png" width="24" height="24" /></a></div></td>

<td width="62" valign="top" scope="col"><div align="center"><a

href="consumo_graph.php?ip=<?= $datos[0]?>" ><img src="../imagenes/chart.png"

width="24" height="24" /></a></div></td>

<? } ?>

<? //fin para mostrar reglas o no y consumo?>

<td width="113" valign="top" scope="col"><div align="center"><img

src="../imagenes/view.png" width="16" height="16" /></div></td>

</tr>

<?

}//fin if

Page 257: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

257

else {

$capt=0;

}

$cont+=1;

} //fin foreach

?>

</table>

</body>

</html>

General(ticket.php)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

Page 258: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

258

<meta http-equiv="Content-Type" content="text/html; charset=windows-1252" />

<title>Aquiles -- Sistema de Gestion Red Local</title>

<style type="text/css">

<!--

body {

margin-left: 0px;

margin-top: 0px;

margin-right: 0px;

margin-bottom: 0px;

}

-->

</style></head>

<?php

session_start();

$usuario=$_SESSION['user'];

$clave=$_SESSION['passw'];

?>

<body onload="javascript:window.print();">

Page 259: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

259

<table width="261" border="0">

<!--DWLayoutTable-->

<tr>

<td height="20" colspan="2" scope="col"><div align="center">Ticket</div></td>

</tr>

<tr>

<td height="20" colspan="2" scope="col"><div

align="center">**************************</div></td>

</tr>

<tr>

<td height="20" colspan="2" scope="col"><div align="center"><?=date("y/m/d

H:i:s");?></div></td>

</tr>

<tr>

<td height="20" colspan="2" scope="col"><div

align="center">**************************</div></td>

</tr>

Page 260: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

260

<tr>

<td width="132" height="20" scope="col"><div align="center">Login

:</div></td>

<td width="119" height="20" colspan="-1" scope="col"><?=$usuario;?></td>

</tr>

<tr>

<td height="20" scope="col"><div align="center">Clave :</div></td>

<td width="119" height="20" colspan="-1" scope="col"><?=$clave;?></td>

<?

//elimino las variables de la session

unset($_SESSION['user']);

unset($_SESSION['passw']);

?>

</tr>

<tr>

<td height="20" colspan="2" scope="col"><div

align="center">**************************</div></td>

</tr>

Page 261: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

261

</table>

</body>

</html>

Js(md5.js)

/*

* A JavaScript implementation of the RSA Data Security, Inc. MD5 Message

* Digest Algorithm, as defined in RFC 1321.

* Version 2.2 Copyright (C) Paul Johnston 1999 - 2009

* Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet

* Distributed under the BSD License

* See http://pajhome.org.uk/crypt/md5 for more info.

*/

/*

* Configurable variables. You may need to tweak these to be compatible with

* the server-side, but the defaults work in most cases.

*/

Page 262: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

262

var hexcase = 0; /* hex output format. 0 - lowercase; 1 - uppercase */

var b64pad = ""; /* base-64 pad character. "=" for strict RFC compliance */

/*

* These are the functions you'll usually want to call

* They take string arguments and return either hex or base-64 encoded strings

*/

function hex_md5(s) { return rstr2hex(rstr_md5(str2rstr_utf8(s))); }

function b64_md5(s) { return rstr2b64(rstr_md5(str2rstr_utf8(s))); }

function any_md5(s, e) { return rstr2any(rstr_md5(str2rstr_utf8(s)), e); }

function hex_hmac_md5(k, d)

{ return rstr2hex(rstr_hmac_md5(str2rstr_utf8(k), str2rstr_utf8(d))); }

function b64_hmac_md5(k, d)

{ return rstr2b64(rstr_hmac_md5(str2rstr_utf8(k), str2rstr_utf8(d))); }

function any_hmac_md5(k, d, e)

{ return rstr2any(rstr_hmac_md5(str2rstr_utf8(k), str2rstr_utf8(d)), e); }

Page 263: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

263

/*

* Perform a simple self-test to see if the VM is working

*/

function md5_vm_test()

{

return hex_md5("abc").toLowerCase() == "900150983cd24fb0d6963f7d28e17f72";

}

/*

* Calculate the MD5 of a raw string

*/

function rstr_md5(s)

{

return binl2rstr(binl_md5(rstr2binl(s), s.length * 8));

}

/*

Page 264: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

264

* Calculate the HMAC-MD5, of a key and some data (raw strings)

*/

function rstr_hmac_md5(key, data)

{

var bkey = rstr2binl(key);

if(bkey.length > 16) bkey = binl_md5(bkey, key.length * 8);

var ipad = Array(16), opad = Array(16);

for(var i = 0; i < 16; i++)

{

ipad[i] = bkey[i] ^ 0x36363636;

opad[i] = bkey[i] ^ 0x5C5C5C5C;

}

var hash = binl_md5(ipad.concat(rstr2binl(data)), 512 + data.length * 8);

return binl2rstr(binl_md5(opad.concat(hash), 512 + 128));

}

Page 265: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

265

/*

* Convert a raw string to a hex string

*/

function rstr2hex(input)

{

try { hexcase } catch(e) { hexcase=0; }

var hex_tab = hexcase ? "0123456789ABCDEF" : "0123456789abcdef";

var output = "";

var x;

for(var i = 0; i < input.length; i++)

{

x = input.charCodeAt(i);

output += hex_tab.charAt((x >>> 4) & 0x0F)

+ hex_tab.charAt( x & 0x0F);

}

return output;

Page 266: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

266

}

/*

* Convert a raw string to a base-64 string

*/

function rstr2b64(input)

{

try { b64pad } catch(e) { b64pad=''; }

var tab =

"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"

;

var output = "";

var len = input.length;

for(var i = 0; i < len; i += 3)

{

var triplet = (input.charCodeAt(i) << 16)

| (i + 1 < len ? input.charCodeAt(i+1) << 8 : 0)

Page 267: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

267

| (i + 2 < len ? input.charCodeAt(i+2) : 0);

for(var j = 0; j < 4; j++)

{

if(i * 8 + j * 6 > input.length * 8) output += b64pad;

else output += tab.charAt((triplet >>> 6*(3-j)) & 0x3F);

}

}

return output;

}

/*

* Convert a raw string to an arbitrary string encoding

*/

function rstr2any(input, encoding)

{

var divisor = encoding.length;

var i, j, q, x, quotient;

Page 268: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

268

/* Convert to an array of 16-bit big-endian values, forming the dividend */

var dividend = Array(Math.ceil(input.length / 2));

for(i = 0; i < dividend.length; i++)

{

dividend[i] = (input.charCodeAt(i * 2) << 8) | input.charCodeAt(i * 2 + 1);

}

/*

* Repeatedly perform a long division. The binary array forms the dividend,

* the length of the encoding is the divisor. Once computed, the quotient

* forms the dividend for the next step. All remainders are stored for later

* use.

*/

var full_length = Math.ceil(input.length * 8 /

(Math.log(encoding.length) / Math.log(2)));

var remainders = Array(full_length);

Page 269: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

269

for(j = 0; j < full_length; j++)

{

quotient = Array();

x = 0;

for(i = 0; i < dividend.length; i++)

{

x = (x << 16) + dividend[i];

q = Math.floor(x / divisor);

x -= q * divisor;

if(quotient.length > 0 || q > 0)

quotient[quotient.length] = q;

}

remainders[j] = x;

dividend = quotient;

}

/* Convert the remainders to the output string */

Page 270: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

270

var output = "";

for(i = remainders.length - 1; i >= 0; i--)

output += encoding.charAt(remainders[i]);

return output;

}

/*

* Encode a string as utf-8.

* For efficiency, this assumes the input is valid utf-16.

*/

function str2rstr_utf8(input)

{

var output = "";

var i = -1;

var x, y;

Page 271: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

271

while(++i < input.length)

{

/* Decode utf-16 surrogate pairs */

x = input.charCodeAt(i);

y = i + 1 < input.length ? input.charCodeAt(i + 1) : 0;

if(0xD800 <= x && x <= 0xDBFF && 0xDC00 <= y && y <= 0xDFFF)

{

x = 0x10000 + ((x & 0x03FF) << 10) + (y & 0x03FF);

i++;

}

/* Encode output as utf-8 */

if(x <= 0x7F)

output += String.fromCharCode(x);

else if(x <= 0x7FF)

output += String.fromCharCode(0xC0 | ((x >>> 6 ) & 0x1F),

0x80 | ( x & 0x3F));

Page 272: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

272

else if(x <= 0xFFFF)

output += String.fromCharCode(0xE0 | ((x >>> 12) & 0x0F),

0x80 | ((x >>> 6 ) & 0x3F),

0x80 | ( x & 0x3F));

else if(x <= 0x1FFFFF)

output += String.fromCharCode(0xF0 | ((x >>> 18) & 0x07),

0x80 | ((x >>> 12) & 0x3F),

0x80 | ((x >>> 6 ) & 0x3F),

0x80 | ( x & 0x3F));

}

return output;

}

/*

* Encode a string as utf-16

*/

function str2rstr_utf16le(input)

Page 273: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

273

{

var output = "";

for(var i = 0; i < input.length; i++)

output += String.fromCharCode( input.charCodeAt(i) & 0xFF,

(input.charCodeAt(i) >>> 8) & 0xFF);

return output;

}

function str2rstr_utf16be(input)

{

var output = "";

for(var i = 0; i < input.length; i++)

output += String.fromCharCode((input.charCodeAt(i) >>> 8) & 0xFF,

input.charCodeAt(i) & 0xFF);

return output;

}

Page 274: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

274

/*

* Convert a raw string to an array of little-endian words

* Characters >255 have their high-byte silently ignored.

*/

function rstr2binl(input)

{

var output = Array(input.length >> 2);

for(var i = 0; i < output.length; i++)

output[i] = 0;

for(var i = 0; i < input.length * 8; i += 8)

output[i>>5] |= (input.charCodeAt(i / 8) & 0xFF) << (i%32);

return output;

}

/*

* Convert an array of little-endian words to a string

*/

Page 275: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

275

function binl2rstr(input)

{

var output = "";

for(var i = 0; i < input.length * 32; i += 8)

output += String.fromCharCode((input[i>>5] >>> (i % 32)) & 0xFF);

return output;

}

/*

* Calculate the MD5 of an array of little-endian words, and a bit length.

*/

function binl_md5(x, len)

{

/* append padding */

x[len >> 5] |= 0x80 << ((len) % 32);

x[(((len + 64) >>> 9) << 4) + 14] = len;

Page 276: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

276

var a = 1732584193;

var b = -271733879;

var c = -1732584194;

var d = 271733878;

for(var i = 0; i < x.length; i += 16)

{

var olda = a;

var oldb = b;

var oldc = c;

var oldd = d;

a = md5_ff(a, b, c, d, x[i+ 0], 7 , -680876936);

d = md5_ff(d, a, b, c, x[i+ 1], 12, -389564586);

c = md5_ff(c, d, a, b, x[i+ 2], 17, 606105819);

b = md5_ff(b, c, d, a, x[i+ 3], 22, -1044525330);

a = md5_ff(a, b, c, d, x[i+ 4], 7 , -176418897);

Page 277: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

277

d = md5_ff(d, a, b, c, x[i+ 5], 12, 1200080426);

c = md5_ff(c, d, a, b, x[i+ 6], 17, -1473231341);

b = md5_ff(b, c, d, a, x[i+ 7], 22, -45705983);

a = md5_ff(a, b, c, d, x[i+ 8], 7 , 1770035416);

d = md5_ff(d, a, b, c, x[i+ 9], 12, -1958414417);

c = md5_ff(c, d, a, b, x[i+10], 17, -42063);

b = md5_ff(b, c, d, a, x[i+11], 22, -1990404162);

a = md5_ff(a, b, c, d, x[i+12], 7 , 1804603682);

d = md5_ff(d, a, b, c, x[i+13], 12, -40341101);

c = md5_ff(c, d, a, b, x[i+14], 17, -1502002290);

b = md5_ff(b, c, d, a, x[i+15], 22, 1236535329);

a = md5_gg(a, b, c, d, x[i+ 1], 5 , -165796510);

d = md5_gg(d, a, b, c, x[i+ 6], 9 , -1069501632);

c = md5_gg(c, d, a, b, x[i+11], 14, 643717713);

b = md5_gg(b, c, d, a, x[i+ 0], 20, -373897302);

a = md5_gg(a, b, c, d, x[i+ 5], 5 , -701558691);

Page 278: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

278

d = md5_gg(d, a, b, c, x[i+10], 9 , 38016083);

c = md5_gg(c, d, a, b, x[i+15], 14, -660478335);

b = md5_gg(b, c, d, a, x[i+ 4], 20, -405537848);

a = md5_gg(a, b, c, d, x[i+ 9], 5 , 568446438);

d = md5_gg(d, a, b, c, x[i+14], 9 , -1019803690);

c = md5_gg(c, d, a, b, x[i+ 3], 14, -187363961);

b = md5_gg(b, c, d, a, x[i+ 8], 20, 1163531501);

a = md5_gg(a, b, c, d, x[i+13], 5 , -1444681467);

d = md5_gg(d, a, b, c, x[i+ 2], 9 , -51403784);

c = md5_gg(c, d, a, b, x[i+ 7], 14, 1735328473);

b = md5_gg(b, c, d, a, x[i+12], 20, -1926607734);

a = md5_hh(a, b, c, d, x[i+ 5], 4 , -378558);

d = md5_hh(d, a, b, c, x[i+ 8], 11, -2022574463);

c = md5_hh(c, d, a, b, x[i+11], 16, 1839030562);

b = md5_hh(b, c, d, a, x[i+14], 23, -35309556);

a = md5_hh(a, b, c, d, x[i+ 1], 4 , -1530992060);

Page 279: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

279

d = md5_hh(d, a, b, c, x[i+ 4], 11, 1272893353);

c = md5_hh(c, d, a, b, x[i+ 7], 16, -155497632);

b = md5_hh(b, c, d, a, x[i+10], 23, -1094730640);

a = md5_hh(a, b, c, d, x[i+13], 4 , 681279174);

d = md5_hh(d, a, b, c, x[i+ 0], 11, -358537222);

c = md5_hh(c, d, a, b, x[i+ 3], 16, -722521979);

b = md5_hh(b, c, d, a, x[i+ 6], 23, 76029189);

a = md5_hh(a, b, c, d, x[i+ 9], 4 , -640364487);

d = md5_hh(d, a, b, c, x[i+12], 11, -421815835);

c = md5_hh(c, d, a, b, x[i+15], 16, 530742520);

b = md5_hh(b, c, d, a, x[i+ 2], 23, -995338651);

a = md5_ii(a, b, c, d, x[i+ 0], 6 , -198630844);

d = md5_ii(d, a, b, c, x[i+ 7], 10, 1126891415);

c = md5_ii(c, d, a, b, x[i+14], 15, -1416354905);

b = md5_ii(b, c, d, a, x[i+ 5], 21, -57434055);

a = md5_ii(a, b, c, d, x[i+12], 6 , 1700485571);

Page 280: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

280

d = md5_ii(d, a, b, c, x[i+ 3], 10, -1894986606);

c = md5_ii(c, d, a, b, x[i+10], 15, -1051523);

b = md5_ii(b, c, d, a, x[i+ 1], 21, -2054922799);

a = md5_ii(a, b, c, d, x[i+ 8], 6 , 1873313359);

d = md5_ii(d, a, b, c, x[i+15], 10, -30611744);

c = md5_ii(c, d, a, b, x[i+ 6], 15, -1560198380);

b = md5_ii(b, c, d, a, x[i+13], 21, 1309151649);

a = md5_ii(a, b, c, d, x[i+ 4], 6 , -145523070);

d = md5_ii(d, a, b, c, x[i+11], 10, -1120210379);

c = md5_ii(c, d, a, b, x[i+ 2], 15, 718787259);

b = md5_ii(b, c, d, a, x[i+ 9], 21, -343485551);

a = safe_add(a, olda);

b = safe_add(b, oldb);

c = safe_add(c, oldc);

d = safe_add(d, oldd);

}

Page 281: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

281

return Array(a, b, c, d);

}

/*

* These functions implement the four basic operations the algorithm uses.

*/

function md5_cmn(q, a, b, x, s, t)

{

return safe_add(bit_rol(safe_add(safe_add(a, q), safe_add(x, t)), s),b);

}

function md5_ff(a, b, c, d, x, s, t)

{

return md5_cmn((b & c) | ((~b) & d), a, b, x, s, t);

}

function md5_gg(a, b, c, d, x, s, t)

{

return md5_cmn((b & d) | (c & (~d)), a, b, x, s, t);

Page 282: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

282

}

function md5_hh(a, b, c, d, x, s, t)

{

return md5_cmn(b ^ c ^ d, a, b, x, s, t);

}

function md5_ii(a, b, c, d, x, s, t)

{

return md5_cmn(c ^ (b | (~d)), a, b, x, s, t);

}

/*

* Add integers, wrapping at 2^32. This uses 16-bit operations internally

* to work around bugs in some JS interpreters.

*/

function safe_add(x, y)

{

var lsw = (x & 0xFFFF) + (y & 0xFFFF);

Page 283: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

283

var msw = (x >> 16) + (y >> 16) + (lsw >> 16);

return (msw << 16) | (lsw & 0xFFFF);

}

/*

* Bitwise rotate a 32-bit number to the left.

*/

function bit_rol(num, cnt)

{

return (num << cnt) | (num >>> (32 - cnt));

}

Js(funciones.js)

// JavaScript Document

//click derecho null

var message = "";

function clickIE(){

if (document.all){

Page 284: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

284

(message);

return false;

}

}

function clickNS(e){

if (document.layers || (document.getElementById && !document.all)){

if (e.which == 2 || e.which == 3){

(message);

return false;

}

}

}

if (document.layers){

document.captureEvents(Event.MOUSEDOWN);

document.onmousedown = clickNS;

} else {

document.onmouseup = clickNS;

Page 285: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

285

document.oncontextmenu = clickIE;

}

document.oncontextmenu = new Function("return false")

//fin de click derecho

//valida si es numero

//function numero(e){

//tecla_codigo = (document.all) ? e.keyCode : e.which;

//if(tecla_codigo==8)return true;

//patron =/[0-9.]/;

//tecla_valor = String.fromCharCode(tecla_codigo);

//return patron.test(tecla_valor);

//}

function solonumeros(e)

{

var key;

Page 286: Grupo # 10 - Repositorio Universidad de Guayaquil: …repositorio.ug.edu.ec/bitstream/redug/12146/1/UG-FCMF-B-CISC-PTG... · Sarg. Metodologías de desarrollo (modelo en espiral)

286

if(window.event) // IE

{

key = e.keyCode;

}

else if(e.which) // Netscape/Firefox/Opera

{

key = e.which;

}

if (key < 48 || key > 57)

{

return false;

}

return true;

}