SlideShare una empresa de Scribd logo
1 de 54
Por que no solamente
de Sd vive el Hombre
Rodrigo Zarate
rzarate@genexus.com
Solución web universal
Objetivos principales




 Experiencia de
    Usuario
                  Seguridad   Desempeño


            Evolución Web
Objetivos principales




 Experiencia de
    Usuario
Experiencia de usuario


      Estándares

      Usabilidad

       Flexibilidad
1.Estándares


      Estándares

      Usabilidad

      Flexibilidad
1.Estándares
• HTML válido según W3C
   –   HTML 4.01 Transitional
   –   HTML 4.01 Strict
   –   XHTML 4.01 Transitional
   –   HTML 5
• CSS 3
http://validator.w3.org/
http://jigsaw.w3.org/css-validator/
2.Usabilidad


      Estándares

      Usabilidad

       Flexibilidad
2.Usabilidad
2.Usabilidad – HTML5
2.Usabilidad – HTML5
2.Usabilidad – HTML5
2.Usabilidad – HTML5
2. Usabilidad – dominios semánticos
•   Geolocation
•   Email
•   Phone
•   Address
•   Color
2. Usabilidad – dominios semánticos
2. Usabilidad – dominios semánticos
2.Usabilidad - Themes
2.Usabilidad - Themes
2.Usabilidad - Themes
2.Usabilidad - Themes
2.Usabilidad - Themes
2.Usabilidad - Themes
2.Usabilidad - Themes
2.Usabilidad – WebFonts
2.Usabilidad – WebFonts
2.Usabilidad – WebFonts
2.Usabilidad – WebFonts
3. Flexibilidad


       Estándares

       Usabilidad

        Flexibilidad
3.Flexibilidad - csv
• Client Side Validation mucho mas personalizable
3.Flexibilidad - csv
3.Flexibilidad
Objetivos principales




            Seguridad
Seguridad



            Seguridad
              de la
            aplicación
GAM = GeneXus Access Manager
• Autenticación
   – Proceso a cumplir para tener acceso a los recursos del sistema
   – Verifica que el usuario es “quien” dice ser
• Autorización
   – Una vez que se sabe “quien” ingreso al sistema se debe saber “qué”
     cosas puede hacer
• Para Web y Smart Devices
• Define base de datos de usuarios y permisos
• Oculta complejidad y da potencia
¿Cómo lo habilito?
• Propiedad a nivel de KB Version
   – Enable Integrated Security = True
   – Default integrated security level =
     (none, authentication, authorization)
• Propiedad por objeto
   – Integrated Security Level
Ejemplos built-in
•   Login
•   Usuarios
•   Roles
•   Políticas de seguridad
    – Contraseñas
    – Sesiones
• Aplicaciones
• Permisos
Tipos de autenticación
•   Local
•   Web Service Externo
•   Facebook
•   Twitter
Proteccion
     Contra
Vulnerabilidades
Aplicaciones seguras
Referencia




•   www.owasp.org
•   Principios
•   Ataques y vulnerabilidades
•   Top 10
OWASP - Ataques
•   A                                        •   Direct Static Code Injection                 •   Repudiation Attack
•   Account lockout attack                   •   Double Encoding                              •   Resource Injection
•   Argument Injection or Modification       •   F                                            •   S
•   Asymmetric resource consumption          •   Forced browsing                              •   SQL Injection
    (amplification)                          •   Format string attack                         •   Server-Side Includes (SSI) Injection
•   B                                        •   Full Path Disclosure                         •   Session Prediction
•   Binary planting                          •   H                                            •   Session fixation
•   Blind SQL Injection                      •   HTTP Request Smuggling                       •   Session hijacking attack
•   Blind XPath Injection                    •   HTTP Response Splitting                      •   Setting Manipulation
•   Brute force attack                       •   L                                            •   Special Element Injection
•   Buffer overflow attack                   •   LDAP injection                               •   Spyware
•   C                                        •   M                                            •   T
•   CSRF                                     •   Man-in-the-browser attack                    •   Traffic flood
•   Cache Poisoning                          •   Man-in-the-middle attack                     •   Trojan Horse
•   Cash Overflow                            •   Mobile code: invoking untrusted mobile code •    U
•   Code Injection                           •   Mobile code: non-final public field          •   Unicode Encoding
•   Command Injection                        •   Mobile code: object hijack                   •   W
•   Comment Injection Attack                 •   N                                            •   Web Parameter Tampering
•   Cross Frame Scripting                    •   Network Eavesdropping                        •   Windows ::DATA alternate data stream
•   Cross Site History Manipulation (XSHM)   •   O                                            •   X
•   Cross Site Tracing                       •   One-Click Attack                             •   XPATH Injection
•   Cross-Site Request Forgery (CSRF)        •   Overflow Binary Resource File                •   XSRF
•   Cross-User Defacement                    •   P
•   Cross-site Scripting (XSS)               •   Page Hijacking
•   Cryptanalysis                            •   Parameter Delimiter
•   C cont.                                  •   P cont.
•   Custom Special Character Injection       •   Path Manipulation
•   D                                        •   Path Traversal
•   Denial of Service                        •   R
•   Direct Dynamic Code Evaluation ('Eval    •   Regular expression Denial of Service - ReDoS
    Injection')                              •   Relative Path Traversal
OWASP - Vulnerabilidades
•   ASP.NET Misconfigurations                                  •   G                                                        •   Not allowing password aging                                  •   Template:Vulnerability
•   Access control enforced by presentation layer              •   Guessed or visible temporary file                        •   Not using a random initialization vector with cipher block   •   Truncation error
•   Addition of data-structure sentinel                        •   H                                                            chaining mode                                                •   Trust Boundary Violation
•   Allowing Domains or Accounts to Expire                     •   Hard-Coded Password                                      •   Null Dereference                                             •   Trust of system event data
•   Allowing password aging                                    •   Heap Inspection                                          •   O                                                            •   Trusting self-reported DNS name
•   Assigning instead of comparing                             •   Heap overflow                                            •   OWASP .NET Vulnerability Research                            •   Trusting self-reported IP address
•   Authentication Bypass via Assumed-Immutable Data           •   I                                                        •   Object Model Violation: Just One of equals() and             •   U
•   B                                                          •   Ignored function return value                                hashCode() Defined                                           •   Uncaught exception
•   Buffer Overflow                                            •   Illegal Pointer Value                                    •   Often Misused: Authentication                                •   Unchecked Error Condition
•   Buffer underwrite                                          •   Improper Data Validation                                 •   Often Misused: Exception Handling                            •   Unchecked Return Value: Missing Check against Null
•   Business logic vulnerability                               •   Improper cleanup on thrown exception                     •   Often Misused: File System                                   •   Unchecked array indexing
•   C                                                          •   Improper error handling                                  •   Often Misused: Privilege Management                          •   Undefined Behavior
•   CRLF Injection                                             •   Improper string length checking                          •   Often Misused: String Management                             •   Uninitialized Variable
•   Capture-replay                                             •   Improper temp file opening                               •   Omitted break statement                                      •   Unintentional pointer scaling
•   Catch NullPointerException                                 •   Incorrect block delimitation                             •   Open forward                                                 •   Unreleased Resource
•   Comparing classes by name                                  •   Information Leakage                                      •   Open redirect                                                •   Unrestricted File Upload
•   Comparing instead of assigning                             •   Information leak through class cloning                   •   Overflow of static internal buffer                           •   Unsafe JNI
•   Comprehensive list of Threats to Authentication Procedures •   Information leak through serialization                   •   Overly-Broad Catch Block                                     •   Unsafe Mobile Code
    and Data                                                   •   Insecure Compiler Optimization                           •   Overly-Broad Throws Declaration                              •   Unsafe Reflection
•   Covert timing channel                                      •   Insecure Randomness                                      •   P                                                            •   Unsafe function call from a signal handler
•   Cross Site Scripting Flaw                                  •   Insecure Temporary File                                  •   PHP File Inclusion                                           •   Unsigned to signed conversion error
•   D                                                          •   Insecure Third Party Domain Access                       •   PRNG Seed Error                                              •   Use of Obsolete Methods
•   Dangerous Function                                         •   Insecure Transport                                       •   Passing mutable objects to an untrusted method               •   Use of hard-coded password
•   Deletion of data-structure sentinel                        •   Insufficient Entropy                                     •   Password Management: Hardcoded Password                      •   Use of sizeof() on a pointer type
•   Deserialization of untrusted data                          •   Insufficient Session-ID Length                           •   Password Management: Weak Cryptography                       •   Using a broken or risky cryptographic algorithm
•   Directory Restriction Error                                •   Insufficient entropy in pseudo-random number generator   •   Password Plaintext Storage                                   •   Using a key past its expiration date
•   Double Free                                                •   Integer coercion error                                   •   Poor Logging Practice                                        •   Using freed memory
•   Doubly freeing memory                                      •   Integer overflow                                         •   Portability Flaw                                             •   Using password systems
•   Duplicate key in associative list (alist)                  •   Invoking untrusted mobile code                           •   Privacy Violation                                            •   Using referer field for authentication or authorization
•   E                                                          •   J                                                        •   Process Control                                              •   Using single-factor authentication
•   Empty Catch Block                                          •   J2EE Misconfiguration: Unsafe Bean Declaration           •   Publicizing of private data when using inner classes         •   Using the wrong operator
•   Empty String Password                                      •   K                                                        •   R                                                            •   V
•   F                                                          •   Key exchange without entity authentication               •   Race Conditions                                              •   Validation performed in client
•   Failure of true random number generator                    •   L                                                        •   Reflection attack in an auth protocol                        •   Vulnerability template
•   Failure to account for default case in switch              •   Least Privilege Violation                                •   Reflection injection                                         •   W
•   Failure to add integrity check value                       •   Leftover Debug Code                                      •   Relative path library search                                 •   Wrap-around error
•   Failure to check for certificate revocation                •   Log Forging                                              •   Reliance on data layout                                      •   Write-what-where condition
•   Failure to check integrity check value                     •   Log injection                                            •   Relying on package-level scope
•   Failure to check whether privileges were dropped           •   M                                                        •   Resource exhaustion
    successfully                                               •   Member Field Race Condition                              •   Return Inside Finally Block
•   Failure to deallocate data                                 •   Memory leak                                              •   Reusing a nonce, key pair in encryption
•   Failure to drop privileges when reasonable                 •   Miscalculated null termination                           •   S
•   Failure to encrypt data                                    •   Misinterpreted function return value                     •   Session Fixation
•   Failure to follow chain of trust in certificate validation •   Missing Error Handling                                   •   Sign extension error
•   Failure to follow guideline/specification                  •   Missing XML Validation                                   •   Signed to unsigned conversion error
•   Failure to protect stored data from modification           •   Missing parameter                                        •   Stack overflow
•   Failure to provide confidentiality for stored data         •   Multiple admin levels                                    •   State synchronization error
•   Failure to validate certificate expiration                 •   Mutable object returned                                  •   Storing passwords in a recoverable format
•   Failure to validate host-specific certificate data         •   N                                                        •   String Termination Error
•   File Access Race Condition: TOCTOU                         •   Non-cryptographic pseudo-random number generator         •   Symbolic name not mapping to correct object
•   Format String                                                                                                           •   T
Aplicaciones seguras con GeneXus

Plataforma


  • Mejoras en todas las versiones
  • Mejoras en todos los upgrades
Qué estamos haciendo nosotros

                 Herramientas
                  para scan de
                vulnerabilidades

    Mejoras
                                   GAM
   constantes



                   App
                Seguras
Desempeño
Desempeño

   Servidor
                      Cliente

              Canal
Desempeño

Optimización canal
•Propiedades controles
 •Especialmente Grids
•Persistencia de SDTs
•HTML5, CSS3, Webfonts
•Mejor manejo cache navegador
Desempeño

Optimización cliente
•Mejora tiempo de carga

Optimización servidor
•Paginado en el servidor de BD
 •Grids / dataproviders
Experiencia de
   Usuario
                 Seguridad   Desempeño


           Evolución Web
MUCHAS GRACIAS

Más contenido relacionado

Similar a Sd mexico

Making Web Development "Secure By Default"
Making Web Development "Secure By Default" Making Web Development "Secure By Default"
Making Web Development "Secure By Default" Duo Security
 
APIsecure 2023 - Understanding and Identifying Threats Against APIs, Shannon ...
APIsecure 2023 - Understanding and Identifying Threats Against APIs, Shannon ...APIsecure 2023 - Understanding and Identifying Threats Against APIs, Shannon ...
APIsecure 2023 - Understanding and Identifying Threats Against APIs, Shannon ...apidays
 
Wakanda and the top 5 security risks - JS.everyrwhere(2012) Europe
Wakanda and the top 5 security risks - JS.everyrwhere(2012) EuropeWakanda and the top 5 security risks - JS.everyrwhere(2012) Europe
Wakanda and the top 5 security risks - JS.everyrwhere(2012) EuropeAlexandre Morgaut
 
Web application security & Testing
Web application security  & TestingWeb application security  & Testing
Web application security & TestingDeepu S Nath
 
Software Developer's Cartel - Not In The Job Description
Software Developer's Cartel - Not In The Job DescriptionSoftware Developer's Cartel - Not In The Job Description
Software Developer's Cartel - Not In The Job DescriptionSuzy Smith
 
Unsafe Deserialization Attacks In Java and A New Approach To Protect The JVM ...
Unsafe Deserialization Attacks In Java and A New Approach To Protect The JVM ...Unsafe Deserialization Attacks In Java and A New Approach To Protect The JVM ...
Unsafe Deserialization Attacks In Java and A New Approach To Protect The JVM ...Apostolos Giannakidis
 
Vulnerabilities in modern web applications
Vulnerabilities in modern web applicationsVulnerabilities in modern web applications
Vulnerabilities in modern web applicationsNiyas Nazar
 
OWASP Ireland June Chapter Meeting - Paul Mooney on ARMOR & CSRF
OWASP Ireland June Chapter Meeting - Paul Mooney on ARMOR & CSRFOWASP Ireland June Chapter Meeting - Paul Mooney on ARMOR & CSRF
OWASP Ireland June Chapter Meeting - Paul Mooney on ARMOR & CSRFPaul Mooney
 
RedisConf18 - Serving Automated Home Valuation with Redis & Kafka
RedisConf18 - Serving Automated Home Valuation with Redis & KafkaRedisConf18 - Serving Automated Home Valuation with Redis & Kafka
RedisConf18 - Serving Automated Home Valuation with Redis & KafkaRedis Labs
 
SecurityBSides London - Agnitio: it's static analysis but not as we know it
SecurityBSides London - Agnitio: it's static analysis but not as we know itSecurityBSides London - Agnitio: it's static analysis but not as we know it
SecurityBSides London - Agnitio: it's static analysis but not as we know itSecurity Ninja
 
Web application security: Threats & Countermeasures
Web application security: Threats & CountermeasuresWeb application security: Threats & Countermeasures
Web application security: Threats & CountermeasuresAung Thu Rha Hein
 
Thick client pentesting_the-hackers_meetup_version1.0pptx
Thick client pentesting_the-hackers_meetup_version1.0pptxThick client pentesting_the-hackers_meetup_version1.0pptx
Thick client pentesting_the-hackers_meetup_version1.0pptxAnurag Srivastava
 
Web Application Security with PHP
Web Application Security with PHPWeb Application Security with PHP
Web Application Security with PHPjikbal
 
Web Security Threats and Solutions
Web Security Threats and Solutions Web Security Threats and Solutions
Web Security Threats and Solutions Ivo Andreev
 
Spring framework
Spring frameworkSpring framework
Spring frameworkAircon Chen
 
Android lessons you won't learn in school
Android lessons you won't learn in schoolAndroid lessons you won't learn in school
Android lessons you won't learn in schoolMichael Galpin
 
Advanced-Penetration-TestinAPT With KALI Linux Course Content.pdf
Advanced-Penetration-TestinAPT With KALI Linux Course Content.pdfAdvanced-Penetration-TestinAPT With KALI Linux Course Content.pdf
Advanced-Penetration-TestinAPT With KALI Linux Course Content.pdfInfosec train
 

Similar a Sd mexico (20)

Making Web Development "Secure By Default"
Making Web Development "Secure By Default" Making Web Development "Secure By Default"
Making Web Development "Secure By Default"
 
APIsecure 2023 - Understanding and Identifying Threats Against APIs, Shannon ...
APIsecure 2023 - Understanding and Identifying Threats Against APIs, Shannon ...APIsecure 2023 - Understanding and Identifying Threats Against APIs, Shannon ...
APIsecure 2023 - Understanding and Identifying Threats Against APIs, Shannon ...
 
Security coding
Security codingSecurity coding
Security coding
 
Wakanda and the top 5 security risks - JS.everyrwhere(2012) Europe
Wakanda and the top 5 security risks - JS.everyrwhere(2012) EuropeWakanda and the top 5 security risks - JS.everyrwhere(2012) Europe
Wakanda and the top 5 security risks - JS.everyrwhere(2012) Europe
 
Web application security & Testing
Web application security  & TestingWeb application security  & Testing
Web application security & Testing
 
Software Developer's Cartel - Not In The Job Description
Software Developer's Cartel - Not In The Job DescriptionSoftware Developer's Cartel - Not In The Job Description
Software Developer's Cartel - Not In The Job Description
 
Spa Secure Coding Guide
Spa Secure Coding GuideSpa Secure Coding Guide
Spa Secure Coding Guide
 
Unsafe Deserialization Attacks In Java and A New Approach To Protect The JVM ...
Unsafe Deserialization Attacks In Java and A New Approach To Protect The JVM ...Unsafe Deserialization Attacks In Java and A New Approach To Protect The JVM ...
Unsafe Deserialization Attacks In Java and A New Approach To Protect The JVM ...
 
Vulnerabilities in modern web applications
Vulnerabilities in modern web applicationsVulnerabilities in modern web applications
Vulnerabilities in modern web applications
 
OWASP Ireland June Chapter Meeting - Paul Mooney on ARMOR & CSRF
OWASP Ireland June Chapter Meeting - Paul Mooney on ARMOR & CSRFOWASP Ireland June Chapter Meeting - Paul Mooney on ARMOR & CSRF
OWASP Ireland June Chapter Meeting - Paul Mooney on ARMOR & CSRF
 
RedisConf18 - Serving Automated Home Valuation with Redis & Kafka
RedisConf18 - Serving Automated Home Valuation with Redis & KafkaRedisConf18 - Serving Automated Home Valuation with Redis & Kafka
RedisConf18 - Serving Automated Home Valuation with Redis & Kafka
 
SecurityBSides London - Agnitio: it's static analysis but not as we know it
SecurityBSides London - Agnitio: it's static analysis but not as we know itSecurityBSides London - Agnitio: it's static analysis but not as we know it
SecurityBSides London - Agnitio: it's static analysis but not as we know it
 
Web application security: Threats & Countermeasures
Web application security: Threats & CountermeasuresWeb application security: Threats & Countermeasures
Web application security: Threats & Countermeasures
 
Thick client pentesting_the-hackers_meetup_version1.0pptx
Thick client pentesting_the-hackers_meetup_version1.0pptxThick client pentesting_the-hackers_meetup_version1.0pptx
Thick client pentesting_the-hackers_meetup_version1.0pptx
 
Testing Tools Classroom Training
Testing Tools Classroom TrainingTesting Tools Classroom Training
Testing Tools Classroom Training
 
Web Application Security with PHP
Web Application Security with PHPWeb Application Security with PHP
Web Application Security with PHP
 
Web Security Threats and Solutions
Web Security Threats and Solutions Web Security Threats and Solutions
Web Security Threats and Solutions
 
Spring framework
Spring frameworkSpring framework
Spring framework
 
Android lessons you won't learn in school
Android lessons you won't learn in schoolAndroid lessons you won't learn in school
Android lessons you won't learn in school
 
Advanced-Penetration-TestinAPT With KALI Linux Course Content.pdf
Advanced-Penetration-TestinAPT With KALI Linux Course Content.pdfAdvanced-Penetration-TestinAPT With KALI Linux Course Content.pdf
Advanced-Penetration-TestinAPT With KALI Linux Course Content.pdf
 

Más de GeneXus

After Chatbots Yo (Ro) Bots
After Chatbots Yo (Ro) BotsAfter Chatbots Yo (Ro) Bots
After Chatbots Yo (Ro) BotsGeneXus
 
PXTools: Nuevo generador y nuevos controles responsivos
PXTools: Nuevo generador y nuevos controles responsivosPXTools: Nuevo generador y nuevos controles responsivos
PXTools: Nuevo generador y nuevos controles responsivosGeneXus
 
APPlícate: Aplicaciones móviles para el desarrollo de la industria
APPlícate: Aplicaciones móviles para el desarrollo de la industriaAPPlícate: Aplicaciones móviles para el desarrollo de la industria
APPlícate: Aplicaciones móviles para el desarrollo de la industriaGeneXus
 
GeneXus 4 Students
GeneXus 4 StudentsGeneXus 4 Students
GeneXus 4 StudentsGeneXus
 
La importancia de ser responsive
La importancia de ser responsiveLa importancia de ser responsive
La importancia de ser responsiveGeneXus
 
K2B: El ERP nativo para el mundo GeneXus
K2B: El ERP nativo para el mundo GeneXusK2B: El ERP nativo para el mundo GeneXus
K2B: El ERP nativo para el mundo GeneXusGeneXus
 
GeneXus 15 (Salto)
GeneXus 15 (Salto)GeneXus 15 (Salto)
GeneXus 15 (Salto)GeneXus
 
GeneXus Cloud Deployment Services. El camino a la nube.
GeneXus Cloud Deployment Services. El camino a la nube.GeneXus Cloud Deployment Services. El camino a la nube.
GeneXus Cloud Deployment Services. El camino a la nube.GeneXus
 
LigaMX con GeneXus: De 0 a 1.700.000 de usuarios
LigaMX con GeneXus: De 0 a 1.700.000 de usuariosLigaMX con GeneXus: De 0 a 1.700.000 de usuarios
LigaMX con GeneXus: De 0 a 1.700.000 de usuariosGeneXus
 
Innovando con GeneXus y SAP
Innovando con GeneXus y SAPInnovando con GeneXus y SAP
Innovando con GeneXus y SAPGeneXus
 
Going mobile
Going mobileGoing mobile
Going mobileGeneXus
 
Audit+: La mejor forma de auditar KB’s GeneXus
Audit+: La mejor forma de auditar KB’s GeneXusAudit+: La mejor forma de auditar KB’s GeneXus
Audit+: La mejor forma de auditar KB’s GeneXusGeneXus
 
WW+, SD+ y Audit+: Potencie GeneXus la Suite Plus
WW+, SD+ y Audit+: Potencie GeneXus la Suite PlusWW+, SD+ y Audit+: Potencie GeneXus la Suite Plus
WW+, SD+ y Audit+: Potencie GeneXus la Suite PlusGeneXus
 
Aproveche las ventajas de la colaboración entre GeneXus y Cloud Shared Office...
Aproveche las ventajas de la colaboración entre GeneXus y Cloud Shared Office...Aproveche las ventajas de la colaboración entre GeneXus y Cloud Shared Office...
Aproveche las ventajas de la colaboración entre GeneXus y Cloud Shared Office...GeneXus
 
Laboratorio GXserver (cont)
Laboratorio GXserver (cont)Laboratorio GXserver (cont)
Laboratorio GXserver (cont)GeneXus
 
Laboratorio GXserver
Laboratorio GXserverLaboratorio GXserver
Laboratorio GXserverGeneXus
 
Laboratorio: Desarrollo de aplicaciones Web con GeneXus Evolution 3 y Salto (...
Laboratorio: Desarrollo de aplicaciones Web con GeneXus Evolution 3 y Salto (...Laboratorio: Desarrollo de aplicaciones Web con GeneXus Evolution 3 y Salto (...
Laboratorio: Desarrollo de aplicaciones Web con GeneXus Evolution 3 y Salto (...GeneXus
 
Laboratorio: Desarrollo de aplicaciones Web con GeneXus Evolution 3 y Salto
Laboratorio: Desarrollo de aplicaciones Web con GeneXus Evolution 3 y SaltoLaboratorio: Desarrollo de aplicaciones Web con GeneXus Evolution 3 y Salto
Laboratorio: Desarrollo de aplicaciones Web con GeneXus Evolution 3 y SaltoGeneXus
 
Laboratorio: Desarrollo para Smart Devices
Laboratorio: Desarrollo para Smart DevicesLaboratorio: Desarrollo para Smart Devices
Laboratorio: Desarrollo para Smart DevicesGeneXus
 
Laboratorio: Desarrollo para Smart Devices (continuación)
Laboratorio: Desarrollo para Smart Devices (continuación)Laboratorio: Desarrollo para Smart Devices (continuación)
Laboratorio: Desarrollo para Smart Devices (continuación)GeneXus
 

Más de GeneXus (20)

After Chatbots Yo (Ro) Bots
After Chatbots Yo (Ro) BotsAfter Chatbots Yo (Ro) Bots
After Chatbots Yo (Ro) Bots
 
PXTools: Nuevo generador y nuevos controles responsivos
PXTools: Nuevo generador y nuevos controles responsivosPXTools: Nuevo generador y nuevos controles responsivos
PXTools: Nuevo generador y nuevos controles responsivos
 
APPlícate: Aplicaciones móviles para el desarrollo de la industria
APPlícate: Aplicaciones móviles para el desarrollo de la industriaAPPlícate: Aplicaciones móviles para el desarrollo de la industria
APPlícate: Aplicaciones móviles para el desarrollo de la industria
 
GeneXus 4 Students
GeneXus 4 StudentsGeneXus 4 Students
GeneXus 4 Students
 
La importancia de ser responsive
La importancia de ser responsiveLa importancia de ser responsive
La importancia de ser responsive
 
K2B: El ERP nativo para el mundo GeneXus
K2B: El ERP nativo para el mundo GeneXusK2B: El ERP nativo para el mundo GeneXus
K2B: El ERP nativo para el mundo GeneXus
 
GeneXus 15 (Salto)
GeneXus 15 (Salto)GeneXus 15 (Salto)
GeneXus 15 (Salto)
 
GeneXus Cloud Deployment Services. El camino a la nube.
GeneXus Cloud Deployment Services. El camino a la nube.GeneXus Cloud Deployment Services. El camino a la nube.
GeneXus Cloud Deployment Services. El camino a la nube.
 
LigaMX con GeneXus: De 0 a 1.700.000 de usuarios
LigaMX con GeneXus: De 0 a 1.700.000 de usuariosLigaMX con GeneXus: De 0 a 1.700.000 de usuarios
LigaMX con GeneXus: De 0 a 1.700.000 de usuarios
 
Innovando con GeneXus y SAP
Innovando con GeneXus y SAPInnovando con GeneXus y SAP
Innovando con GeneXus y SAP
 
Going mobile
Going mobileGoing mobile
Going mobile
 
Audit+: La mejor forma de auditar KB’s GeneXus
Audit+: La mejor forma de auditar KB’s GeneXusAudit+: La mejor forma de auditar KB’s GeneXus
Audit+: La mejor forma de auditar KB’s GeneXus
 
WW+, SD+ y Audit+: Potencie GeneXus la Suite Plus
WW+, SD+ y Audit+: Potencie GeneXus la Suite PlusWW+, SD+ y Audit+: Potencie GeneXus la Suite Plus
WW+, SD+ y Audit+: Potencie GeneXus la Suite Plus
 
Aproveche las ventajas de la colaboración entre GeneXus y Cloud Shared Office...
Aproveche las ventajas de la colaboración entre GeneXus y Cloud Shared Office...Aproveche las ventajas de la colaboración entre GeneXus y Cloud Shared Office...
Aproveche las ventajas de la colaboración entre GeneXus y Cloud Shared Office...
 
Laboratorio GXserver (cont)
Laboratorio GXserver (cont)Laboratorio GXserver (cont)
Laboratorio GXserver (cont)
 
Laboratorio GXserver
Laboratorio GXserverLaboratorio GXserver
Laboratorio GXserver
 
Laboratorio: Desarrollo de aplicaciones Web con GeneXus Evolution 3 y Salto (...
Laboratorio: Desarrollo de aplicaciones Web con GeneXus Evolution 3 y Salto (...Laboratorio: Desarrollo de aplicaciones Web con GeneXus Evolution 3 y Salto (...
Laboratorio: Desarrollo de aplicaciones Web con GeneXus Evolution 3 y Salto (...
 
Laboratorio: Desarrollo de aplicaciones Web con GeneXus Evolution 3 y Salto
Laboratorio: Desarrollo de aplicaciones Web con GeneXus Evolution 3 y SaltoLaboratorio: Desarrollo de aplicaciones Web con GeneXus Evolution 3 y Salto
Laboratorio: Desarrollo de aplicaciones Web con GeneXus Evolution 3 y Salto
 
Laboratorio: Desarrollo para Smart Devices
Laboratorio: Desarrollo para Smart DevicesLaboratorio: Desarrollo para Smart Devices
Laboratorio: Desarrollo para Smart Devices
 
Laboratorio: Desarrollo para Smart Devices (continuación)
Laboratorio: Desarrollo para Smart Devices (continuación)Laboratorio: Desarrollo para Smart Devices (continuación)
Laboratorio: Desarrollo para Smart Devices (continuación)
 

Último

Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 

Último (20)

Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 

Sd mexico

  • 1. Por que no solamente de Sd vive el Hombre Rodrigo Zarate rzarate@genexus.com
  • 3. Objetivos principales Experiencia de Usuario Seguridad Desempeño Evolución Web
  • 5. Experiencia de usuario Estándares Usabilidad Flexibilidad
  • 6. 1.Estándares Estándares Usabilidad Flexibilidad
  • 7. 1.Estándares • HTML válido según W3C – HTML 4.01 Transitional – HTML 4.01 Strict – XHTML 4.01 Transitional – HTML 5 • CSS 3
  • 10. 2.Usabilidad Estándares Usabilidad Flexibilidad
  • 14.
  • 15.
  • 16.
  • 19. 2. Usabilidad – dominios semánticos • Geolocation • Email • Phone • Address • Color
  • 20. 2. Usabilidad – dominios semánticos
  • 21. 2. Usabilidad – dominios semánticos
  • 33. 3. Flexibilidad Estándares Usabilidad Flexibilidad
  • 34. 3.Flexibilidad - csv • Client Side Validation mucho mas personalizable
  • 38. Seguridad Seguridad de la aplicación
  • 39. GAM = GeneXus Access Manager • Autenticación – Proceso a cumplir para tener acceso a los recursos del sistema – Verifica que el usuario es “quien” dice ser • Autorización – Una vez que se sabe “quien” ingreso al sistema se debe saber “qué” cosas puede hacer • Para Web y Smart Devices • Define base de datos de usuarios y permisos • Oculta complejidad y da potencia
  • 40. ¿Cómo lo habilito? • Propiedad a nivel de KB Version – Enable Integrated Security = True – Default integrated security level = (none, authentication, authorization) • Propiedad por objeto – Integrated Security Level
  • 41. Ejemplos built-in • Login • Usuarios • Roles • Políticas de seguridad – Contraseñas – Sesiones • Aplicaciones • Permisos
  • 42. Tipos de autenticación • Local • Web Service Externo • Facebook • Twitter
  • 43. Proteccion Contra Vulnerabilidades
  • 44. Aplicaciones seguras Referencia • www.owasp.org • Principios • Ataques y vulnerabilidades • Top 10
  • 45. OWASP - Ataques • A • Direct Static Code Injection • Repudiation Attack • Account lockout attack • Double Encoding • Resource Injection • Argument Injection or Modification • F • S • Asymmetric resource consumption • Forced browsing • SQL Injection (amplification) • Format string attack • Server-Side Includes (SSI) Injection • B • Full Path Disclosure • Session Prediction • Binary planting • H • Session fixation • Blind SQL Injection • HTTP Request Smuggling • Session hijacking attack • Blind XPath Injection • HTTP Response Splitting • Setting Manipulation • Brute force attack • L • Special Element Injection • Buffer overflow attack • LDAP injection • Spyware • C • M • T • CSRF • Man-in-the-browser attack • Traffic flood • Cache Poisoning • Man-in-the-middle attack • Trojan Horse • Cash Overflow • Mobile code: invoking untrusted mobile code • U • Code Injection • Mobile code: non-final public field • Unicode Encoding • Command Injection • Mobile code: object hijack • W • Comment Injection Attack • N • Web Parameter Tampering • Cross Frame Scripting • Network Eavesdropping • Windows ::DATA alternate data stream • Cross Site History Manipulation (XSHM) • O • X • Cross Site Tracing • One-Click Attack • XPATH Injection • Cross-Site Request Forgery (CSRF) • Overflow Binary Resource File • XSRF • Cross-User Defacement • P • Cross-site Scripting (XSS) • Page Hijacking • Cryptanalysis • Parameter Delimiter • C cont. • P cont. • Custom Special Character Injection • Path Manipulation • D • Path Traversal • Denial of Service • R • Direct Dynamic Code Evaluation ('Eval • Regular expression Denial of Service - ReDoS Injection') • Relative Path Traversal
  • 46. OWASP - Vulnerabilidades • ASP.NET Misconfigurations • G • Not allowing password aging • Template:Vulnerability • Access control enforced by presentation layer • Guessed or visible temporary file • Not using a random initialization vector with cipher block • Truncation error • Addition of data-structure sentinel • H chaining mode • Trust Boundary Violation • Allowing Domains or Accounts to Expire • Hard-Coded Password • Null Dereference • Trust of system event data • Allowing password aging • Heap Inspection • O • Trusting self-reported DNS name • Assigning instead of comparing • Heap overflow • OWASP .NET Vulnerability Research • Trusting self-reported IP address • Authentication Bypass via Assumed-Immutable Data • I • Object Model Violation: Just One of equals() and • U • B • Ignored function return value hashCode() Defined • Uncaught exception • Buffer Overflow • Illegal Pointer Value • Often Misused: Authentication • Unchecked Error Condition • Buffer underwrite • Improper Data Validation • Often Misused: Exception Handling • Unchecked Return Value: Missing Check against Null • Business logic vulnerability • Improper cleanup on thrown exception • Often Misused: File System • Unchecked array indexing • C • Improper error handling • Often Misused: Privilege Management • Undefined Behavior • CRLF Injection • Improper string length checking • Often Misused: String Management • Uninitialized Variable • Capture-replay • Improper temp file opening • Omitted break statement • Unintentional pointer scaling • Catch NullPointerException • Incorrect block delimitation • Open forward • Unreleased Resource • Comparing classes by name • Information Leakage • Open redirect • Unrestricted File Upload • Comparing instead of assigning • Information leak through class cloning • Overflow of static internal buffer • Unsafe JNI • Comprehensive list of Threats to Authentication Procedures • Information leak through serialization • Overly-Broad Catch Block • Unsafe Mobile Code and Data • Insecure Compiler Optimization • Overly-Broad Throws Declaration • Unsafe Reflection • Covert timing channel • Insecure Randomness • P • Unsafe function call from a signal handler • Cross Site Scripting Flaw • Insecure Temporary File • PHP File Inclusion • Unsigned to signed conversion error • D • Insecure Third Party Domain Access • PRNG Seed Error • Use of Obsolete Methods • Dangerous Function • Insecure Transport • Passing mutable objects to an untrusted method • Use of hard-coded password • Deletion of data-structure sentinel • Insufficient Entropy • Password Management: Hardcoded Password • Use of sizeof() on a pointer type • Deserialization of untrusted data • Insufficient Session-ID Length • Password Management: Weak Cryptography • Using a broken or risky cryptographic algorithm • Directory Restriction Error • Insufficient entropy in pseudo-random number generator • Password Plaintext Storage • Using a key past its expiration date • Double Free • Integer coercion error • Poor Logging Practice • Using freed memory • Doubly freeing memory • Integer overflow • Portability Flaw • Using password systems • Duplicate key in associative list (alist) • Invoking untrusted mobile code • Privacy Violation • Using referer field for authentication or authorization • E • J • Process Control • Using single-factor authentication • Empty Catch Block • J2EE Misconfiguration: Unsafe Bean Declaration • Publicizing of private data when using inner classes • Using the wrong operator • Empty String Password • K • R • V • F • Key exchange without entity authentication • Race Conditions • Validation performed in client • Failure of true random number generator • L • Reflection attack in an auth protocol • Vulnerability template • Failure to account for default case in switch • Least Privilege Violation • Reflection injection • W • Failure to add integrity check value • Leftover Debug Code • Relative path library search • Wrap-around error • Failure to check for certificate revocation • Log Forging • Reliance on data layout • Write-what-where condition • Failure to check integrity check value • Log injection • Relying on package-level scope • Failure to check whether privileges were dropped • M • Resource exhaustion successfully • Member Field Race Condition • Return Inside Finally Block • Failure to deallocate data • Memory leak • Reusing a nonce, key pair in encryption • Failure to drop privileges when reasonable • Miscalculated null termination • S • Failure to encrypt data • Misinterpreted function return value • Session Fixation • Failure to follow chain of trust in certificate validation • Missing Error Handling • Sign extension error • Failure to follow guideline/specification • Missing XML Validation • Signed to unsigned conversion error • Failure to protect stored data from modification • Missing parameter • Stack overflow • Failure to provide confidentiality for stored data • Multiple admin levels • State synchronization error • Failure to validate certificate expiration • Mutable object returned • Storing passwords in a recoverable format • Failure to validate host-specific certificate data • N • String Termination Error • File Access Race Condition: TOCTOU • Non-cryptographic pseudo-random number generator • Symbolic name not mapping to correct object • Format String • T
  • 47. Aplicaciones seguras con GeneXus Plataforma • Mejoras en todas las versiones • Mejoras en todos los upgrades
  • 48. Qué estamos haciendo nosotros Herramientas para scan de vulnerabilidades Mejoras GAM constantes App Seguras
  • 50. Desempeño Servidor Cliente Canal
  • 51. Desempeño Optimización canal •Propiedades controles •Especialmente Grids •Persistencia de SDTs •HTML5, CSS3, Webfonts •Mejor manejo cache navegador
  • 52. Desempeño Optimización cliente •Mejora tiempo de carga Optimización servidor •Paginado en el servidor de BD •Grids / dataproviders
  • 53. Experiencia de Usuario Seguridad Desempeño Evolución Web

Notas del editor

  1. El WorldWide Web Consortium (W3C) es una comunidad internacional que desarrolla estándares como XML, XHTML, SOAP, Comercio electrónico, HTML, CSS; que aseguran el crecimiento de la Web a largo plazo. La problemas derivados de la heterogeneidad de la web desde sus inicios ha dejado de manifiesto la necesidad de tener un estándar que permita una programación e interpretación de aplicable a cualquier plataforma, navegador y usuario.De esto modo, el Consorcio WorldWide Web (W3C por sus siglas en ingles) fundador de la WWW ha venido sacando una serie de estándares para la escritura correcta de una página web en HTML.La validez es un criterio de calidad para una pagina web. Una pagina web valida no es necesariamente una buena pagina. Pero una pagina invalida tienemenos chances de ser una buena pagina.La validación es el proceso de chequear una pagina web contra una gramática.W3C MarkupValidator dice si la pagina cumple con un conjunto de reglas.TheMarkupValidator es una herramienta gratuita que chequea la sintaxis de documentos web contra una gramática, la que la pagina dice estar usando.En cadapáginaquevalida se puedemostrar un distintivo “W3C valid” es un iconoqueprovee el validador.Esta herramienta de validación tiene tres formas de operar: Por la dirección de tu página.Subiendo el archivo HTML que quieres validar.Poniendo directamente el código a validar dentro de un campo de texto.Una vez introducido y validado tu código; te mostrará los errores y su ubicación con lo que podras iniciar corregir para llevarla al estardar.La validez de un style sheet depende del nivel de CSS usado en ese style sheet.Debecontener solo rules nombre de propiedades y valoresdefinidos en suespecificación.El servicio de validación de w3c es gratis. Es open y se puedebajarinstalarlolocalmenteusarlo y modificarloincluso.Algunos browsers extiendenesos profiles con nuevaspropiedadescomohizo Mozilla con la propiedad -moz-opacity.El validador no contemplaesaspropiedades y haceque sea inválido en términos de lasespecificaiones de CSS. Las ventajas más importante de tener una web validada son las siguientes: Carga más rápida ante menos código extraño.Adaptación a múltiples plataformas y navegadores.Preprara el sitio ante cualquier cambio en los navegadores.Homogeniza la visibilidad de tu web.Permite un mejor acceso de los buscadores y por tanto, mayor trafico.
  2. En el área usabilidad en la interfaz web hemos agregado nuevos controles y funcionalidades que están presentes en las ultimas especificaciones de HTML5 y CSS3 que nos da un valor agregado en la parte visual.Hasta versiones previas de GeneXusEv2 el HTML generado por GeneXus sigue la especificación HTML4, los controles y característias que se utilizan son propios de esa especificación. Que además es una versión de html creada en 1990 y estandarizada en 1997 que no ha cambiado por muchos años y eso hace que todos los browsers implementaran esa especificación es decir se soporta en todos. La especificación de HMTL5 aun esta en desarrollo, no esta cerrada e intenta ser una conjunción de las versiones previas (html4, xhtml).
  3. El primer draftde HTML5 se publico en Enero de 2008W3C creó un logotipo oficial propio para HTML5 y motiva a que se use como distintivo del uso o interés en HTML5.HTML5 introduce un numero de elementos nuevos que reemplazan a otros ya existentes dando mas semántica. HTML5 esta diseñado de manera que versiones viejas de browsers pueda ignorar los nuevos constructores de forma segura. Algunos elementos nuevos que agregamos en Evolution 2 son: Email, tel, url, search, color, invitation text.La principal ventaja de estos controles es que son semánticamente mas correctos y permiten mayor accesibilidad en los mobiles: si se lleva a un input mail con iPhone, el iPhonedespliega un teclado con el simbolo @ en la pantallaprimaria. O .comosies del tipourl.
  4. Opera permiteseleccionar un color desde un color picker.
  5. PlaceHolder (Invitation Message) proporciona unindicioque describe el valor esperado en un input. Se despliegamientrasestavacio, desaparececuandoese campo obtiene el foco.
  6. La primer especificación de CSS oficial, la version 1, fuepublicada en 1996. Y la 2 se publicó en 1998.CSS3 es un poco distinta porque en lugar de definir todas las features en una única gran especificación, como CSS2 y CSS3 esta dividida en varios módulos. Los primeros drafts fueron publicados en 1999. Y debido a esa modularización es que diferentes módulos tienen distinta estabilidad y status.En marzo de 2011 Algunos módulos (son mas de 40) como Selectors, Namespaces, Color y Media Queries son considerados estables y en estado de candidato o recomendación.
  7. Se permite importar un archivo css completo. Se selecciona un archivo css y los nombres de clases que coinciden se actualizan.O se permite también importar una definición de css de una clase por ejemplo.Esto facilita la interacción del diseñador con el desarrollador, podemos generar un css pero no podíamos importar uno.
  8. La propiedad @font-face de CSS3 nos permite utilizar tipografías personalizadas en la Web de una manera accesible, manipulable y escalable.Algunas ventajas de utilizar @font-face:El texto puede ser localizado mediante búsquedas (Ctrl-F ). Los motores de busqueda va a encontrar y priorizar estos textos sobre una pagina que tenga imágenes con los mismos textos por mas que tengan el tag ALT.Menos costo de mantenimiento.El texto es accesible, pudiendo ser interpretado por las ayudas técnicas como los lectores de pantalla.El texto es traducible, mediante la traducción en el navegador u otros servicios de traducción.El texto puede ser formateado mediante las propiedades de estilo de texto: line-height , letter-spacing , text-shadow , text-align , y utilizado con los selectores ::first-letter y ::first-linePermite usar fonts mas creativos, que antes habrian requerido imagenes, ahora pueden ser creados embebiendo los fonts. Ayudando a crear un markup mas limpio y mas semantico en el backend.Otra cracteristica interesante es que se pueden usar como los fonts regulares, configurando todas las propiedades que se tienen en un fontcomun. Para browsers que no soportan las fuentes ttf, se puede escribir una definicion que incluya los dos, es decir definir el font con multiplesrc.
  9. Razones para ofrecer mas de un css en un sitio web:-contemplar variedad de gustos: diferentes diseños son apropiados para diferentes personas. Por ejemplo a algunos les gusta un diseño colorido. A otros Uno mas sencillo y limpio.-contemplar necesidades especiales: por ejemplo gente de tercera edad que puede necesitar font sizes mas grandes.
  10. En Area de desarrollo web el foco dentro del a Evolution 2, se posiciono en tres elementos principalesExperiencia de UsuarioSeguridadDesempeño
  11. Antes de ver qué es el GAM y qué escenarios resuelve me parece bueno aclarar algunos conceptos relacionados al tema de la seguridad de las aplicaciones.El primero es el concepto de autenticación que lo podemos definir como el proceso por el cual el usuario se identifica; es decir, dice quien es. Una vez que el sistema sabe quien es el usuario que ingreso al sistema hablamos de Autorización como el proceso de verificación que una persona conocida tiene la autoridad para realizar una cierta operación. Es decir, define qué cosas puede hacer el usuario en el sistema.
  12. Cuando se habilita el GAM pasan las siguientes cosas en la KB:Se importan los objetos externos que definen el API del GAM que quedan en la carpeta GAM_Library y una serie de objetos con ejemplos de cómo usar el API tanto para web como para SmartDevices que quedan en la carpeta GAM_ExamplesSe inicializan las propiedades “Loginobjectfor Web” y “Loginobjectfor SD” que quedan apuntando a los ejemplos de login que se importaron anteriormente para web y SD respectivamenteSe crea un datastore secundario de nombre GAM que hereda la configuración del datastore defaultCuando se hace el primer Run luego de habilitar el GAM se crea la BD del GAM y se inicializa la metadata del GAM. Además se hace el deploy de los binarios del API del GAM.
  13. Para la autenticación nos resuelve el caso en donde los usuarios son locales , es decir, el registro de usuarios se lleva en la base de datos del GAM y por lo tanto cuando se identifican el control se hace sobre los datos almacenados por el GAMEn el caso de querer hacer que el proceso de login haga el chequeo contra una base de datos que no sea la del GAM o hasta con un directorio de usuarios basados en LDAP o Active Directory entonces se lo puede configurar para que la autenticación se haga a través de un Web Service Externo. En este caso es necesario desarrollar ese Web Service respetando determinada interfaz de parámetros de entrada y salida y es este servicio el qué tendrá la lógica para hacer la autenticación y devolverle al GAM los datos del usuario que se está logueando y código de error que correspodan. En este caso se configura en el GAM donde está dicho servicio.De la misma forma se puede habilitar que el login se haga contra la cuenta del usuario en Facebook y Twitter. Por ejemplo en el caso de Facebook se registra la aplicación que estemos desarrollando y Facebook nos da un par de claves que debemos configurar en el GAM. Para el usuario final cuando entra a la pantalla de login podemos ofrecer el botón con Facebook y/o Twitter y esto lo redireccionará al sitio que corresponda dado que la contraseña nunca se ingresa en nuestro sistema, luego de logueado en alguna de estas redes sociales es redireccionado a nuestra aplicación y ahí si estuvo todo bien con la autenticación se le da acceso al sistema.Todos estos tipos de autenticación se pueden habilitar simultaneamente, es decir, que al usuario en la pantalla de login le podemos ofrecer todas estas opciones para identificarse.
  14. Mejorarseguridad en aplicaciones.Hacer visible el temaseguridad.Principios:caracteristicas, comportamiento, implementacionqueintentanreducirlasamenazas y el impactoqueestaspudierantener. Ej: fail securely, fail-safe defaults, don’t trust infrastructure, don’t trust services, etc.Ataques: Tecnicasqueexplotanvulnerabilidades.Vulnerabilidades: debilidad en el sistemaquecompromete la informacion o funcionamiento de la aplicacion, permitiendo a un atacantegeneraralguntipo de daño.Top 10: Concensosobre los 10 riesgos mas altos queexisten hoy en aplicaciones web.
  15. Proyecto:Herramientas y metodologiaEvaluacionde riesgoTests de penetracion