Autor Tema: Sin teclado virtual en el sitio del Banco Agricola  (Leído 74369 veces)

0 Usuarios y 6 Visitantes están viendo este tema.

Desconectado hkadejo

  • Global Moderator
  • The Communiter-
  • *
  • Mensajes: 3345
Re: Sin teclado virtual en el sitio del Banco Agricola
« Respuesta #135 : abril 08, 2011, 12:59:13 pm »
Listo!!! Nueva version de NoTecladoVirtual!! Ahora deja cambiar password con el teclado normal :D

Mejoras?

1) Se puede cambiar el password utilizando el teclado convencional.

2) Agregue un trozo de codigo por sugerencia de naruto http://www.svcommunity.org/forum/programacioacuten/sin-teclado-virtual-en-el-sitio-del-banco-agricola/msg671485/#msg671485
Algo  tarde lo se.

3) Refactorizacion del codigo para utilizar un solo bookmarklet para ambos casos (login y cambio de password)

4) Desaparece el teclado virtual de pantalla cuando se activa el bookmarklet.

Aqui les dejo la nueva version
https://gist.github.com/raw/913900/19ab589344231fed0cf386b760686b03ce19227b/NoTecladoVirtualV2_1.js

Agreguenlo a sus marcadores y no dejen que el teclado virtual los moleste de nuevo.  :drinks:

pd: Lo he probado solo en el chrome asi que si encuentran bugs en otros navegadores, reportarlo aqui.
« Última Modificación: abril 11, 2011, 11:30:49 am por hkadejo »

Desconectado Jaru

  • The Communiter-
  • *
  • Mensajes: 13252
  • some text
Re: Sin teclado virtual en el sitio del Banco Agricola
« Respuesta #136 : abril 08, 2011, 01:35:06 pm »
mega win!

que bien hkadejo, veo que siempre usas la sugerencia que te hice para meter un rango de caracteres usando un loop
Código: [Seleccionar]
for (var i=32; i<170; i++){letras[i] = String.fromCharCode(i);} :drinks:

no por gusto sos de los RESERVOIR COMMUNOS  :azn:
N/A

Desconectado hkadejo

  • Global Moderator
  • The Communiter-
  • *
  • Mensajes: 3345
Re: Sin teclado virtual en el sitio del Banco Agricola
« Respuesta #137 : abril 08, 2011, 01:50:12 pm »
mega win!

que bien hkadejo, veo que siempre usas la sugerencia que te hice para meter un rango de caracteres usando un loop
Código: [Seleccionar]
for (var i=32; i<170; i++){letras[i] = String.fromCharCode(i);} :drinks:

no por gusto sos de los RESERVOIR COMMUNOS  :azn:

Ese pequeño codigo es mas elegante que el gran desmadre que tenia de ir caracter por caracter.

y bueno si alguien puede probarlo en el IE que avise como funciona.

Desconectado Darkness

  • The Communiter-
  • *
  • Mensajes: 2147
  • The Darkness
    • Diseño y Programaciòn Web Profesional
Re: Sin teclado virtual en el sitio del Banco Agricola
« Respuesta #138 : abril 08, 2011, 02:38:55 pm »
Test en FF 4.0 

Funciona de maravilla   :yahoo: 

Thanks
La Muerte Simplemente es el Despertar de Un Sueño Lleno de Falsedades e hipocrecias.
"Larga Vida Al Heavy Metal"

Iron Maiden Discografia DD

Desconectado Zantetsuken

  • -^- Elite Silver -^-
  • The Communiter-
  • *
  • Mensajes: 4756
  • Bokura wa hitotsu ONE PIECE!!
Re: Sin teclado virtual en el sitio del Banco Agricola
« Respuesta #139 : abril 09, 2011, 03:44:36 pm »
como puedo probarlo en Opera 11 ?
Mi PSN ID: Zantetsv84

Desconectado hkadejo

  • Global Moderator
  • The Communiter-
  • *
  • Mensajes: 3345
Re: Sin teclado virtual en el sitio del Banco Agricola
« Respuesta #140 : abril 10, 2011, 08:16:22 am »
como puedo probarlo en Opera 11 ?

Asi mira:

1) Das click sobre el link que te lleva al codigo fuente


2) Copias todo el codigo (click derecho -> Copy)


3)Abris el administrador de bookmarklets


4)Creas un nuevo bookmarklet


Donde dice Address pega todo el codigo que copiastes previamente


5) Y luego lo probas


6) Y eso es todo.


Desconectado Zantetsuken

  • -^- Elite Silver -^-
  • The Communiter-
  • *
  • Mensajes: 4756
  • Bokura wa hitotsu ONE PIECE!!
Re: Sin teclado virtual en el sitio del Banco Agricola
« Respuesta #141 : abril 10, 2011, 10:59:50 am »
Hola hkadejo, fijate que hice todo en el Opera 11 y solo me aparece una pantalla en blanco  :sad: lo unico que no abro la pagina del BAC, me voy directo al bookmark y hasta reinicio el opera para ver si es eso:



Uploaded with ImageShack.us
Mi PSN ID: Zantetsv84

Desconectado darkela

  • Sv Vampire Team ®
  • The Communiter-
  • ***
  • Mensajes: 1619
  • 다르켈라
Re: Sin teclado virtual en el sitio del Banco Agricola
« Respuesta #142 : abril 10, 2011, 11:16:18 am »
Hola Zantetsuken
es que creo que debes probarlo sobre la pagina del BA

Desconectado Zantetsuken

  • -^- Elite Silver -^-
  • The Communiter-
  • *
  • Mensajes: 4756
  • Bokura wa hitotsu ONE PIECE!!
Re: Sin teclado virtual en el sitio del Banco Agricola
« Respuesta #143 : abril 10, 2011, 11:18:06 am »
Hola Zantetsuken
es que creo que debes probarlo sobre la pagina del BA

ok, entendido!! gracias darkela! :D
Mi PSN ID: Zantetsv84

Desconectado darkela

  • Sv Vampire Team ®
  • The Communiter-
  • ***
  • Mensajes: 1619
  • 다르켈라
Re: Sin teclado virtual en el sitio del Banco Agricola
« Respuesta #144 : abril 10, 2011, 11:33:52 am »
Yo lo acabo de hacer los mismos pasos para el firefox

1. copian el codigo de @hkadejo


2. click derecho en la barra de bookmarks


3. click en nuevo bookmarks y les va a aparecer la cajita donde llenar los campos, le ponen nombre a su bookmark y en location pegan el codigo de @hkadejo y le dan guardar


4. listo!


Abren la pagina de BA y le dan click al bookmark y desaparece el teclado  ohyea: ohyea: ohyea: ohyea:  :sur: :sur: :sur: :sur: :sur: :sur:




Desconectado Zantetsuken

  • -^- Elite Silver -^-
  • The Communiter-
  • *
  • Mensajes: 4756
  • Bokura wa hitotsu ONE PIECE!!
Re: Sin teclado virtual en el sitio del Banco Agricola
« Respuesta #145 : abril 10, 2011, 11:37:34 am »
probado de esa misma forma en opera 11 y funciona  :yahoo:
Mi PSN ID: Zantetsv84

Desconectado obser7er

  • The Communiter-
  • *
  • Mensajes: 4728
  • ferg(at)pcpimpz.com
    • PcPimpz Gamer Store - sucursal SVC
Re: Sin teclado virtual en el sitio del Banco Agricola
« Respuesta #146 : abril 10, 2011, 05:47:00 pm »
Esta versión del código tenía bastante código redundante que se podía abreviar cuando se crean los campos de texto del login o de cambiar contraseña. Eso fue lo que hice. El resultado es que ahora el Bookmarklet solo ocupa 3.59Kb, y originalmente ocupaba 5.8 Kb. El espacio restante se puede aprovechar para seguir introduciendo mejoras sin afectar el espacio porque ahora se puede reusar. Solo hace falta ver si funciona bien

El resultado es que no funciona... XD  :thumbsup: Algo así como que el código redundante según tu apreciación, no era tan redundante que digamos  :D
info: ferg(at)pcpimpz.com
Newegg|TigerDirect|Amazon|Directron|DELL-USATODO NUEVO Y SELLADO - Mandar a traer HW no es más barato pero es lo mejor!

Desconectado hkadejo

  • Global Moderator
  • The Communiter-
  • *
  • Mensajes: 3345
Re: Sin teclado virtual en el sitio del Banco Agricola
« Respuesta #147 : abril 10, 2011, 07:00:42 pm »
Esta versión del código tenía bastante código redundante que se podía abreviar cuando se crean los campos de texto del login o de cambiar contraseña. Eso fue lo que hice. El resultado es que ahora el Bookmarklet solo ocupa 3.59Kb, y originalmente ocupaba 5.8 Kb. El espacio restante se puede aprovechar para seguir introduciendo mejoras sin afectar el espacio porque ahora se puede reusar. Solo hace falta ver si funciona bien, aunque debería:
{http://devel.no-ip.org/tmp/NoTecladoVirtual.html}
{http://devel.no-ip.org/tmp/NoTecladoVirtual.html}

Sobre el codigo redundante,solo dire que la prioridad era eliminar el teclado virtual, y luego optimizar.Asi que la fase de refactorizar es la que continua, gracias por empezar  :thumbsup:


- ¿Por qué se vuelven a generar los valores de las teclas del teclado virtual? ¿No se podría simplemente eliminar esa parte? ¿O es porque se vuelven a mandar al servidor como verificación de validación?

Al servidor del banco agricola a parte del password "plano" se envia el password encriptado con algun algoritmo que desconozco, cada letra tomar un valor hash. El teclado virtual lo que hace es precisamente eso, crear el password encriptado. Sino envias ese hash sencillamente el login falla asi que por eso se vuelven a generar.

- ¿Dónde hay alguna explicación que deje claro lo que estos valores ocultos contienen y lo que está haciendo el código que genera estos valores? Además de que esa es la mayor parte del código. Hace falta una versión del código con comentarios, aparte de esta versión "compilada".

Mañana espero tomarme un rato para documentar el codigo, la primera vez que publique el script en mi blog puse una explicacion mas tecnica, pero esa entrada la he perdido, asi que volvere a explicarlo.

- ¿Qué es lo que representa la variable ifr? Parece que solo es para ver si la dirección actual es https://www.pcbac.com/PotalaPersonal/home.do (¿el formulario de Cambiar Contraseña?), mientras que la dirección de login es https://www.pcbac.com/PotalaPersonal/login.do.

ifr viene de iframe o frame, es una variable que utilizo para determinar si estoy en la pantalla de login o si ya me encuentro dentro de la aplicacion del banco agricola, te cuento que el sitio del agricola esta creado con frames, un header, un menu a la izquierda y la pantalla principal, son como tres frames. Asi que cuando se cargan las opciones se hace en el frame principal y la direccion no cambia, asi que para saber si estoy en el login o la opcion de cambio de password (que es el otro lado donde esta el teclado) solo valido la url en la que me encuentro.

- ¿Por qué es necesaria la función copyText? ¿Y en cuanto a los valores ocultos que maneja?

copyText sencillamente lo que hace es que el texto plano del pass o user lo convierte al hash (luego ampliare esta explicacion tan vaga)

- Hasta ahora en lo personal he estado ayudando sin tener una cuenta en este banco. ¿Qué necesito para poder tener una cuenta de ebanca para poder probar yo mismo cambios que haga al Bookmarklet? ¿Es suficiente con una tarjeta como la chequeMax o equivalente, o hay que pagar mensualmente por usar la ebanca?

Si tenes cuenta de chequemax solo te acercas una agencia y ahi creas el usuario de ebanca.

Bueno me tomare un momento el dia de mañana para dar una explicacion mas tecnica y detallada de todo el codigo, para responder mas satisfactoriamente las preguntas del compañero.

El resultado es que no funciona... XD  :thumbsup: Algo así como que el código redundante según tu apreciación, no era tan redundante que digamos  :D

Si hay codigo redundante y ya se a que se refiere XD ya vere de hacer la mejora al codigo. Y leyendo el codigo del compañero creo que se porque no funciona, pero aun no estoy seguro si es por eso, en cuanto pueda hago la observacion.
« Última Modificación: abril 10, 2011, 07:09:20 pm por hkadejo »

Desconectado hkadejo

  • Global Moderator
  • The Communiter-
  • *
  • Mensajes: 3345
Re: Sin teclado virtual en el sitio del Banco Agricola
« Respuesta #148 : abril 11, 2011, 11:13:07 am »
Version explicada/documentada del script

https://gist.github.com/raw/913865/06d69075c5d5ddb9b00e0ce7dcac6ff627d3e205/NoTecladoVirtualV2Explicado.js

Es una explicacion simple y rapida (y creo que no muy buena no ando con mucho tiempo ahorita) pero creo que puede ayudar a comprender un poco mejor el codigo. En todo caso cualquier duda o comentario, aqui las estare respondiendo.

y aprovechando hice un pequeño refactor al script para que sea mas liviano, he aqui la nueva version, eliminando codigo repetido y tratando de optimizar unas cositas mas
https://gist.github.com/raw/913900/19ab589344231fed0cf386b760686b03ce19227b/NoTecladoVirtualV2_1.js
« Última Modificación: abril 11, 2011, 11:31:56 am por hkadejo »

Desconectado JaiMe

  • Global Moderator
  • The Communiter-
  • *
  • Mensajes: 1485
  • λ | h+
Re: Sin teclado virtual en el sitio del Banco Agricola
« Respuesta #149 : abril 11, 2011, 07:03:27 pm »
me gusta como este script ha ido evolucionando, especialmente el ver como las skills de hkadejo en JS agarran vuelo!

Mis observaciones,

La siguiente funcion $ que abstrae la selecion de elementos del DOM

Código: [Seleccionar]
var $ = function(idname) {
    var e;
    var doc;
    if (!ifr) {
        doc = document;
    } else {
        doc = window.frames['working'].document
    }
    e = doc.getElementById(idname);
    if (!e) {
        e = doc.getElementsByName(idname)[0];
    }
    return e;
};

puede ser reescrita a:

Código: [Seleccionar]
var $ = function(idname) {
    var doc = ifr ? window.frames.working.document : document;
    return doc.getElementById(idname) || doc.getElementsByName(idname)[0] || '';
};


User Friendliness

La funcionalidad final del script es hacer el processo de log in mas amigable, pero la instalacion no es tan simple para un usuario final. Esto puede ser remediado haciendo un landing page con un link que permita al usuario solamente arrastrar el bookmarklet a su barra de favoritos. Diigo lo hace asi:



en el caso de este script algo simple bastaria.

Dev Friendliness

Tambien es buena idea centralizar el codigo, mantener una version en development con todos los comment (preferiblemente mantener el repo updated), luego usar YUI-Compressor para crear la production version.
"Unless you try to do something beyond what you have already mastered, you will never grow."
― Ralph Waldo Emerson