SlideShare ist ein Scribd-Unternehmen logo
1 von 20
Seguridad en paginas web y
Codeigniter
Principales vulnerabilidades
● Inyección
● Cross-Site Scripting (XSS)
● Autentificación y Manejo de Usuarios
●
¿Que es codeigniter?
● Framework ligero escrito en php
● Bibliotecas para ayudar en el desarrollo
● Subir archivos
● Abstracción de la base de datos
● Carrito de compras
● Paginación
● encriptacion
Seguridad en Codeigniter
● Funciones hash
● Encriptacion de cookies
● Personalizacion de logs
● Limpieza de inyección de sql
● Validación de formularios
● Limpieza de Cross­site script
● Permite revisar la ip y el user agent
Funciones hash
● En el security helper encontramos:
● dohash(), parámetros string con la información, por 
default usara sha1
● xss_clean() parámetros string con la información, 
limpia posibles ataques de cross­site script
Encriptacion 
● En esta clase tenemos funciones de 
encriptacion y desencriptacion
● $this­>encrypt­>encode() parámetros un string con 
el mensaje a ocultar, opcional llave de encriptacion
● $this­>encrypt­>decode() parametros un string con 
el mensaje encriptado 
Tips de seguridad
● Valida los formularios
● Guarda la sesión en la base de datos
● Encripta las cookies
● Usa Active Records para consultas de la base 
de datos
● Limpia los datos enviados por los formularios
● No uses las contraseñas originales usa las 
tablas hash de estas 
Como validar los datos en los 
formularios
● Usando la clase Form Validation
● Define las reglas de validacion
● $this­>form_validation­>set_rules('usuario', 
'Usuario', 'required'); Pirmer parametro el nombre 
del input, segundo parametro la etiqueta del input y 
el tercer parametro es el tipo de verificacion 
Corriendo la validacion
if ($this­>form_validation­>run() == FALSE){
$this­>load­>view('myform');
}
else{
$this­>load­>view('formsuccess');
}
Sesiones
● Con solo cargar la libreria se crea una sesion y 
una cookie con la siguiente información:
● User Agent
● Session id
● Last activity
● IP
● La libreria se carga con:
● $this­>load­>library('session');
Guardar la sesión en la base de 
datos
● Crear las tablas necesarias
● Activar la opción en el archivo de configuración
● $config['sess_use_database'] = TRUE; 
● Automáticamente guarda los datos
● Automáticamente verifica la información de la 
cookie con la almacenada en la base de datos 
si es valida continua si no destruye la sesión  
Encriptar la cookie
● Modifica el valor en el archivo de configuración
● $config['sess_encrypt_cookie'] = TRUE;
● Automáticamente encripta y desencripta la 
información en la cookie
Limpia los datos enviados por 
formulario
● Solo usa la clase input
● $this­>input­>post() primer parámetro el nombre del 
formulario, segundo parámetro un booleano 
indicando si se pasa o no por el filtro xss
Hash de las contraseñas
● Usa las funciones hash para encriptar las 
contraseñas
● Almacena la contraseña encriptada no la 
original
● Encripta del lado del cliente y de el lado del 
servidor 
● dohash($contraseña);
Active Records
● Es la abstraccion de la base de datos
● Funciones para manejar la base de datos
● Modificar los archivos de configuracion
● Carga la base de datos (Conexion automatica)
● $this­>load­>database();
Funciones en los Active Records
● $this­>db­>get(); primer parámetro el nombre 
de la tabla.
● $this­>get_where(); Primer parámetro nombre 
de la tabla, segundo parámetro arreglo con la 
condición, tercer parámetro el limite y el cuarto 
parámetro el offset
● Array('id'=>$id);
Funciones en los Active Records
● $this­>db­>insert(); primer parametro el nombre 
 de la tabla y el segundo parametro un arreglo 
con la informacion
● Array(
'id'=>$id,
'Nombre'=>$nombre
);
¿Donde aprender mas?
● Documentación de codeigniter
● http://codeigniter.com/user_guide/
● En Google!
● Tutoriales en internet
● http://www.kentverger.com/tag/codeigniter/
● La foto del fondo esta licenciada como Creative  
Commons y el autor es Adam Mulligan
● http://www.flickr.com/photos/amulligan/with/197104755/
● Esta presentación esta bajo creative commons
●
¿Dudas?
Gracias

Weitere ähnliche Inhalte

Ähnlich wie Disi codeigniter

.NET UY Meetup 5 - MVC For Human Beings by Leonardo Botta
.NET UY Meetup 5 - MVC For Human Beings by Leonardo Botta.NET UY Meetup 5 - MVC For Human Beings by Leonardo Botta
.NET UY Meetup 5 - MVC For Human Beings by Leonardo Botta.NET UY Meetup
 
DEMO_Encriptación_datos
DEMO_Encriptación_datosDEMO_Encriptación_datos
DEMO_Encriptación_datosDirk Rose
 
Riesgo y Vulnerabilidades en el Desarrollo
Riesgo y Vulnerabilidades en el DesarrolloRiesgo y Vulnerabilidades en el Desarrollo
Riesgo y Vulnerabilidades en el DesarrolloConferencias FIST
 
Seguridad en las apis desde un punto de vista de developer
Seguridad en las apis desde un punto de vista de developerSeguridad en las apis desde un punto de vista de developer
Seguridad en las apis desde un punto de vista de developerCloudAppi
 
Seguridad web para desarrolladores - OWASP
Seguridad web para desarrolladores - OWASPSeguridad web para desarrolladores - OWASP
Seguridad web para desarrolladores - OWASPMarcos Harasimowicz
 
Curso Google Analytics cein
Curso Google Analytics ceinCurso Google Analytics cein
Curso Google Analytics ceinCein
 
Seguridad
SeguridadSeguridad
SeguridadVLASLOV
 
TEMA 5_ SERVICIOS_WEB_PRESENTACION.pptx
TEMA 5_ SERVICIOS_WEB_PRESENTACION.pptxTEMA 5_ SERVICIOS_WEB_PRESENTACION.pptx
TEMA 5_ SERVICIOS_WEB_PRESENTACION.pptxAlfonsoJimenez51
 
STOP a la fuga de información: la barrera indispensable de seguridad en SQL S...
STOP a la fuga de información: la barrera indispensable de seguridad en SQL S...STOP a la fuga de información: la barrera indispensable de seguridad en SQL S...
STOP a la fuga de información: la barrera indispensable de seguridad en SQL S...SolidQ
 
Plone 5: el CMS del futuro, en el presente.
Plone 5: el CMS del futuro, en el presente.Plone 5: el CMS del futuro, en el presente.
Plone 5: el CMS del futuro, en el presente.Mikel Larreategi
 
Framework GSM para Pruebas Automatizadas
Framework GSM para Pruebas AutomatizadasFramework GSM para Pruebas Automatizadas
Framework GSM para Pruebas AutomatizadasSoftware Guru
 
Mada metodología ágil de desarrollo de apis
Mada   metodología ágil de desarrollo de apisMada   metodología ágil de desarrollo de apis
Mada metodología ágil de desarrollo de apisCloudAppi
 
Inyección, XSS, CSRF en ChelaJS
Inyección, XSS, CSRF en ChelaJSInyección, XSS, CSRF en ChelaJS
Inyección, XSS, CSRF en ChelaJSsuperserch
 

Ähnlich wie Disi codeigniter (20)

.NET UY Meetup 5 - MVC For Human Beings by Leonardo Botta
.NET UY Meetup 5 - MVC For Human Beings by Leonardo Botta.NET UY Meetup 5 - MVC For Human Beings by Leonardo Botta
.NET UY Meetup 5 - MVC For Human Beings by Leonardo Botta
 
S4-PD1-2.2 EF
S4-PD1-2.2 EFS4-PD1-2.2 EF
S4-PD1-2.2 EF
 
DEMO_Encriptación_datos
DEMO_Encriptación_datosDEMO_Encriptación_datos
DEMO_Encriptación_datos
 
S4 - EF
S4 - EFS4 - EF
S4 - EF
 
Riesgo y Vulnerabilidades en el Desarrollo
Riesgo y Vulnerabilidades en el DesarrolloRiesgo y Vulnerabilidades en el Desarrollo
Riesgo y Vulnerabilidades en el Desarrollo
 
Web cryptography
Web cryptographyWeb cryptography
Web cryptography
 
Seguridad en las apis desde un punto de vista de developer
Seguridad en las apis desde un punto de vista de developerSeguridad en las apis desde un punto de vista de developer
Seguridad en las apis desde un punto de vista de developer
 
Seguridad web para desarrolladores - OWASP
Seguridad web para desarrolladores - OWASPSeguridad web para desarrolladores - OWASP
Seguridad web para desarrolladores - OWASP
 
Curso Google Analytics cein
Curso Google Analytics ceinCurso Google Analytics cein
Curso Google Analytics cein
 
Seguridad
SeguridadSeguridad
Seguridad
 
Introducción a Django
Introducción a DjangoIntroducción a Django
Introducción a Django
 
TEMA 5_ SERVICIOS_WEB_PRESENTACION.pptx
TEMA 5_ SERVICIOS_WEB_PRESENTACION.pptxTEMA 5_ SERVICIOS_WEB_PRESENTACION.pptx
TEMA 5_ SERVICIOS_WEB_PRESENTACION.pptx
 
STOP a la fuga de información: la barrera indispensable de seguridad en SQL S...
STOP a la fuga de información: la barrera indispensable de seguridad en SQL S...STOP a la fuga de información: la barrera indispensable de seguridad en SQL S...
STOP a la fuga de información: la barrera indispensable de seguridad en SQL S...
 
Plone 5: el CMS del futuro, en el presente.
Plone 5: el CMS del futuro, en el presente.Plone 5: el CMS del futuro, en el presente.
Plone 5: el CMS del futuro, en el presente.
 
Framework GSM para Pruebas Automatizadas
Framework GSM para Pruebas AutomatizadasFramework GSM para Pruebas Automatizadas
Framework GSM para Pruebas Automatizadas
 
Web2 Quiensomos
Web2 QuiensomosWeb2 Quiensomos
Web2 Quiensomos
 
Seguridad en la web
Seguridad en la webSeguridad en la web
Seguridad en la web
 
Mada metodología ágil de desarrollo de apis
Mada   metodología ágil de desarrollo de apisMada   metodología ágil de desarrollo de apis
Mada metodología ágil de desarrollo de apis
 
Inyección, XSS, CSRF en ChelaJS
Inyección, XSS, CSRF en ChelaJSInyección, XSS, CSRF en ChelaJS
Inyección, XSS, CSRF en ChelaJS
 
Trabajo de informatica
Trabajo de informaticaTrabajo de informatica
Trabajo de informatica
 

Kürzlich hochgeladen

POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 

Kürzlich hochgeladen (10)

POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 

Disi codeigniter