1 Programación con Estilo Algoritmos en Hojas de Estilo CSS
2 Breve historia 11/2006 Jeremiah Grossman menciona posibilidad de hacer un Scanner de Puertos en CSS. 02/2007 Robert Hansen explica como robar el historial de navegación de un usuario con CSS. 08/2007 Gareth Heyes libera el primer CSK.
3 ¿Quienes? Jeremiah Grossman (2006) –CTO WhiteHat Security (USA) Robert Hansen (2006-2007) –CEO SecTheory (USA) Gareth Heyes (2007-2008) –Desarrollador e investigador de seguridad (UK) David Lindsay (2007-2008) –Ingeniero de seguridad en Security Innovation (USA) Eduardo Vela (2007-2008) –Ingeniero de seguridad en hi5, estudiante ITESM CEM (México) http://sla.ckers.org/http://sla.ckers.org/ Web Application Security Lab
4 Nuestros Propósitos Crear una alternativa para agregar interactividad a una página web. “Descubrir” un nuevo paradigma de programación. Impulsar el desarrollo de funcionalidades a favor de la algoritmia en CSS3.
5 Desafíos Implementar y descubrir como hacer algo en donde no se debería poder hacer. Asimilación de las limitantes de un lenguaje donde todas las instrucciones se ejecutan simultaneamente.
6 Historia (continuación) 11/2007 Eduardo Vela libera CSK2 (eventos, memoria, “toggles”) y el juego de ahorcado. 11/2007 David Lindsay y Eduardo Vela liberan sumador y multiplicador. 11/2007 Gareth Heyes demuestra implementación de un “clock”. (animaciones, contadores, etc..)
7 Herramientas Selectores de eventos. –:hover – Mouse sobre un elemento. –:active – Click sobre un elemento. –:focus – Cursor en un campo. Selectores de estado. –:checked – Memoria (bool) de una sesión. –:visited – Memoria (bool) de múltiples sesiones. –:target – Sección enlazada de la página.
8 Ejemplos
9 Respuesta de la industria
10 A ojos de la World Wide Web Consortium CSS3 WG
11 A ojos de Mozilla (Gecko) Style Team.
12 A ojos de WebKit CSS Team.
13 A ojos de la industria de seguridad computacional.
14 Turing-Completeness Implementacion de Latches (JK). Implementación de Flip-Flops (JK). Implementación de una ALU. pendiente hecho
15 return Q&A;