Está en la página 1de 15

CRISTHIAN LENNIN NOSSA NIÑO

CÓDIGO: 1.095.954.238

FRANCISCO JAVIER HILARIÓN NOVOA

TUTOR

INGENIERIA DE SISTEMAS

PROGRAMACIÓN DE SITIOS WEB

CÓDIGO: 301127_15
INTRODUCCIÓN

En el presente trabajo seguimos con el aplicativo de la tienda Telsa


Electronics, desarrollando scripts con funciones de INSERTAR,
ACTUALIZAR,ELIMINAR,CONSULTAR, BACKUP, REPORTE PDF y crear
conexión directa con base de datos mysql. Dominando lo básico de
Html,Php,Mysql,Css,Apache.
Aspectos Básicos de la Seguridad en Aplicaciones Web

Se puede decir que uno de los puntos más críticos de la seguridad en Internet
son las herramientas que interactúan de forma directa con los usuarios, en este
caso los servidores web. Es común escuchar sobre fallas en los sistemas de
protección de los servidores más frecuentemente utilizados, por ejemplo
Apache, NGINX, IIS, etc. O en los lenguajes de programación en que son escritas
las aplicaciones. Sin embargo, la mayoría de los problemas detectados en
servicios web no son provocados por fallas de ninguna de estas partes, si no que
los problemas se generan por malas prácticas de parte de los programadores.

Debemos entender que programar aplicaciones web seguras no es una tarea


fácil, ya que requiere por parte del programador, no sólo cumplir con el objetivo
funcional básico de la aplicación, sino una concepción general de los riesgos que
puede correr la información procesada por el sistema.

1. Problemas principales en la programación de sistemas web

Gran parte de los problemas de seguridad en las aplicaciones web son causados
por la falta de seguimiento en dos rubros muy importantes de los que depende
cualquier aplicación, las entradas y salidas del sistema. Además de verificar
estos 2 rubros, es importante considerar la exposición accidental de datos que
pueden ser empleados en un posible ataque sobre el sistema. Los mensajes de
error enviados por el servidor, que suelen ser de gran utilidad durante el proceso
de desarrollo de la aplicación, pueden ser empleados maliciosamente cuando
siguen apareciendo en un entorno de producción, por lo que es necesario
deshabilitar todos estos mensajes y editar algunos otros (como los que se envían
cuando el servidor no encuentra algún archivo en particular) los cuales también
pueden ser utilizados por los atacantes para obtener información sobre nuestro
sistema.

2. Balancear riesgo y usabilidad


Si bien la usabilidad y la seguridad en una aplicación web no son excluyentes
una de la otra, alguna medida tomada para incrementar la seguridad con
frecuencia afecta la usabilidad. Normalmente siempre se debe pensar en las
maneras en que usuarios ilegítimos nos pueden atacar y la facilidad de uso para
los usuarios legítimos.

Es conveniente emplear medidas de seguridad que sean transparentes a los


usuarios y que no resulten engorrosas en su empleo. Por ejemplo, el uso de
un login que solicita el nombre de usuario y contraseña ,permite controlar el
acceso de los usuarios hacia secciones restringidas de la aplicación. Este paso
adicional, es una característica que impacta en la rapidez de acceso a la
información por parte del usuario, pero que proporciona un elemento adicional
de protección.

3. Rastrear el paso de los datos


Es muy importante mantener conocimiento de los pasos que ha recorrido la
información en todo momento. Conocer de dónde vienen los datos y hacia dónde
van. En muchas ocasiones lograr esto puede ser complicado, especialmente sin
un conocimiento profundo de cómo funcionan las aplicaciones web.

En las aplicaciones web, existen maneras de distinguir los orígenes de los datos
y poder así reconocer cuando los datos pueden ser dignos de confianza y cuando
no. Normalmente existen arreglos globales en la aplicación (por ejemplo en PHP
los arreglos $_GET, $_POST, $_COOKIE y $_SESSION entre otros) que sirven
para identificar de forma clara las entradas proporcionadas por el usuario. Si
esto lo combinamos con una convención estricta para el nombrado de las
variables podemos tener un control sobre el origen de los datos usados en el
código.

4. Filtrar entradas
El filtrado es una de las piedras angulares de la seguridad en aplicaciones web.
Es el proceso por el cual se prueba la validez de los datos. Si nos aseguramos
que los datos son filtrados apropiadamente al entrar, podemos eliminar el riesgo
de que datos contaminados sean usados para provocar funcionamientos no
deseados en la aplicación.

Existen muchos puntos de vista diferentes sobre cómo realizar el filtrado o


proceso de limpieza. Lo que usualmente se recomienda es ver al filtrado como
un proceso de inspección, no debemos tratar de corregir los datos, es mejor
forzar a los usuarios a jugar con las reglas válidas.
5. Escapado de salidas
Otro punto importante de la seguridad es el proceso de escapado y su
contraparte para codificar o decodificar caracteres especiales de tal forma que
su significado original sea preservado. Si llegamos a utilizar una codificación en
particular es necesario conocer los caracteres reservados los cuales serán
necesarios escapar.

El proceso de escapado debe estar compuesto a su vez por los siguientes pasos:

• Identificar las salidas.


• Escapar las salidas.
• Distinguir entre datos escapados y no escapados.

El proceso de escapado debe adecuarse al tipo de salida de que se trate (si es


al cliente, a la base de datos, etcétera). Para la mayoría de los destinatarios,
existen funciones nativas en los lenguajes de programación para esta finalidad.
En alguno de los casos como podría ser el de base de datos es importante incluso
observar la codificación en la que son enviados.

Para distinguir entre los datos que han sido escapados de los que no, es
recomendable también usar una convención de nombres. Es necesario una
función de escapado para cada caso, como ejemplo en PHP se tomarían las
siguientes consideraciones para:

Correo electrónico, se puede usar la función filter_var() con los argumentos de


FILTER_VALIDATE_EMAIL.

Bases de datos SQL, es más recomendable utilizar consultas parametrizadas


pero podríamos utilizar mysql_real_escape_string.

Líneas de comandos, se puede hacer uso de la función escapeshellarg().

Código en Javascript, PHP no tiene un método incorporado para escaparlo,


pero se puede utilizar json_encode() junto con htmlspecialchars() si se quiere
mostrar en HTML.
INFORME DEL APLICATIVO TELSA ELECTRONICS

PANTALLA INICIO INDEX.HTML

Interface primaria de la tienda Telsa Electronics con un menú que tiene,


Administrador, Home, Inventario, Ventas y Utilidades.

MENÚ ADMINISTRADOR
Con 4 opciones, Crear Bd, Crear Tabla, Crear Backup y Crear Reporte en
pdf
EVIDENCIA CREACIÓN BASE DE DATOS

Nos muestra un mensaje que dice Base de datos creada correctamente y se


crea en php admin

EVIDENCIA CREACIÓN DE TABLA

Nos muestra este mensaje “Tabla invitados creada satisfactoriamente”, se crea


la tabla en la base de datos llamada MYBD

EVIDENCIA DE LA CREACIÓN DEL BACKUP

Dándole click en crear backup, inmediatamente nos descarga en archivo ZIP la


copia de seguridad.
EVIDENCIA CREACIÓN DEL REPORTE EN PDF

Dándole click en CREAR REPORTE, nos direcciona a un archivo pdf con todo lo
almacenado en la base de datos MyBd.

EVIDENCIA DEL MENÚ INVENTARIO

En este menú podemos ingresar el producto a la base de datos, diligenciando


los campos y dándole en realizar operación.
UN EJEMPLO

Ingreso del producto ID numero 2020 nombre: Clavos Marca: Leco Precio:
90000 Cantidad: 2

Nos mostrará este mensaje una vez ingresado el producto

Confirmamos de que la información si ingreso correctamente, directamente en


la base de datos.
EVIDENCIA EN EL MENU ACTUALIZAR PRODUCTO

En este menú actualizamos, si en la imagen anterior observan el id 1818


pertenece a CARTON, en este lo cambiaremos a Computador Gamer, así
remplazando y actualizando la información

EVIDENCIA DE LA ACTUALIZACIÓN

Quedó actualizado el producto con ID Numero 1818

EVIDENCIA MENU ELIMINAR PRODUCTO

En esté menú solo con ingresar el numero ID del producto y darle realizar
operación se eliminara directamente de la base de datos.
COMPLEMENTO DE LA ACTIVIDAD ANTERIOR
CODIGO PRINCIPAL INDEX.HTML
CODIGO MENU ADMINISTRADOR.HTML

En este menú lo que hicimos fue crear las direcciones con imágenes para tener
un mejor diseño web, que direciona cuando le dan click a su script
correspondiente

SCRIPT CREAR TABLA PHP


CODIGO CREAR BASE DE DATOS

Creamos las variables de acceso como lo son


$servidor,$nombreusuario,$passwor y procedemos a crear una conexión

CODIGO PARA ACTUALIZAR.PHP


REFERENCIAS BIBLIOGRAFICAS

Hilarion Novoa, F. (2016). Conexión Base de datos php. [Archivo de video].


Recuperado de: http://hdl.handle.net/10596/9096

Vara, Mesa, Juan Manuel, et al. Desarrollo web en entorno servidor, RA-MA
Editorial, 2014. (Páginas. 49 - 88). ProQuest Ebook Central. Recuperado
de: https://bibliotecavirtual.unad.edu.co:2538/lib/unadsp/reader.action?ppg=
50&docID=3229695&tm=1544023658116

Vara, Mesa, Juan Manuel, et al. Desarrollo web en entorno cliente. (Páginas.
175 - 195). RA-MA Editorial, 2014. ProQuest Ebook Central. Recuperado
de: https://bibliotecavirtual.unad.edu.co:2538/lib/unadsp/reader.action?ppg=
176&docID=3229683&tm=1544023773437

También podría gustarte