SlideShare uma empresa 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

Mais conteúdo relacionado

Semelhante 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
 

Semelhante 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
 

Mais 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
 

Mais 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

[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 

Último (20)

[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 

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 do 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