Escrito por Alex como (In)Seguridad, Insensatos el 25 de Septiembre de 2009 a las 8:58 pm

Problemas con la web de Renfe … ¡de nuevo!



De nuevo vuelvo a tener problemas con la página de Renfe, y es que, una Web dentro de un proyecto de tantos millones de euros y donde se ha despilfarrado el dinero de tal manera, tiene que dar problemas básicos, ya que si no, no sería una web "made by dinero del pueblo".

Ya que el amable señor que me ha contestado al teléfono de incidencias de Internet, me ha aconsejado que use Internet Explorer, ya que no podía completar mi compra con Firefox por un error R190, que ni el sabía que significaba, veo que en el encantador navegador que tanto debe admirar el grupo Indra, me sale la ventanita anunciándome que algunos elementos de la página no son seguros.

Bueno, yo soy programador, y se que los elementos que no se muestran bajo protocolo seguro serán algún iconito estúpido, pero … ¿qué sensación le puede quedar a todo el resto de los navegantes que no saben muy bien de qué va el mensaje? Si, si, a ese gran público que marcará la opción 1 en el teléfono de consultas que dice "pulse 1 si tiene problemas para imprimir el billete" …

Querida Renfe: ¿sabíais que no te puedes autenticar como usuario si no haces una búsqueda? ¿sabíais que vuestra página no cumple ningún standard y no puedes usarla bien con otros navegadores que no sean IE? ¿y que vuestro de sistema de captcha se puede saltar? Qué fácil es hacerse un pequeño programa que te avise cuando hay ofertas en los AVE hacia Zaragoza ;)

Y ahora, para los que sepan programar en Javascript … mirad alguna de las funcioncitas que me encuentro … de lujo oye :D

// ——————————–
// Comprueba si cadena es un número
// ——————————–
function esNumero(cadena)
{
// Si lo que recibe no es una cadena devuelve falso.
if (typeof(cadena) != "string")
{
return false;
}

if(cadena == "")
{
return false;
}

var numeros = "0123456789″

for(var i=0; i {
if(numeros.indexOf(cadena.charAt(i)) == -1)
{
return false;
}
}

return true;
}

Un poco más y crean una biblioteca para esta función ;) De estas hay un buen número de ellas, a cada cual más interesante por el código fuente de los 15 JS de 274K de código … ¡infumables!


RelacionadasNo es seguro comprar en RenfeWindows Vista vs Ubuntu LinuxVLC se acerca a su primera versión definitivaProblemas con el iPhone 3G en Barcelona
Puedes suscribirte a los comentarios con este enlace RSS 2.0 feed

15 Responses to “Problemas con la web de Renfe … ¡de nuevo!”

  1. 1
    /b/ Says:


    Que puedo decir??
    Spain is different…

  2. 2
    DoodoM Says:


    Madre mía, yo no sé de dónde sacan a más de uno. A mí me gusta la simplicidad. Lo haría tal que así:

    String.prototype.esNumero = function() {
    return (parseInt(this, 10) == this);
    }

    Implementación:

    (’10′).esNumero() // devuelve true;
    (’hola mundo’).esNumero(); // devuelve false

    La única pega sería que habría que pasar los enteros (si los hubiera) como cadenas de texto en vez de a pelo.

    Por cierto, cómo mola el objeto prototype. :D

  3. 3
    DoodoM Says:


    ¡Ah bueno!, que la función javascript echa por esa gente lo que hace precisamente es comprobar si una cadena de texto es un número. Entonces pega ninguna.

    Quien quiera, si le parece útil, puede cogerme prestada la función.

  4. 4
    Y0K3S3 Says:


    DoodoM tu solucion requiere añadir un “include” del framework prototype. No quiero decir que no compense (yo amo jquery) pero decir que tu harias la funcion asi…cuando ellos lo hacen a pelo y tu sobre un framework de javascript; no me parece la misma

  5. 5
    Darkhogg Says:


    YoK3S3 No, En JavaScript se pueden extender los objetos nativos mediante los prototipos (String.prototype en este caso) de forma que TODAS las instancias de dicho objeto tengan también el método extendido. En este caso, todas las cadenas
    Prototype, como framework, es precisamente eso lo que hace, y de ahí le viene el nombre.
    Prueba a hacerlo por tu propia cuenta en un documento vacío, verás que funciona maravillosamente lo que ha dicho DoodoM.

    De todas formas, DoodoM, podrías extender también el objeto Number con un metodo esNumero() que devuelva siempre true, y si nos ponemos tontos, extender otros tantos prototipos que devuelvan false. Es un poco cutre, pero bueno.

  6. 6
    Darkhogg Says:


    Acabo de darme cuenta de una cosa: Esa función de DoodoM sólo devuelve TRUE si el número es ENTERO.
    Que está bien pero si alguien la necesita para decimales también puede usar parseFloat() en lugar de parseInt():

    String.prototype.esNumero = function() {
    return (parseFloat(this) == this);
    }

    Mismo funcionamiento que la de DoodoM pero tambien valida los numeros decimales.

  7. 7
    DoodoM Says:


    @YoK3S3 Yo al principio cometía la misma equivocación que tú, y como dice Darkhogg, el framework Prototype recibe el nombre precisamente de estos objetos.

    @Darkhogg Pues sí, se podrían añadir algunas comprobaciones adicionales. ¿Pero si ya hace lo que se necesita para qué complicarlo más?

  8. 8
    DoodoM Says:


    @Darkhogg Cierto es, comprueba si son números enteros, pero tampoco vendría mal que comprobara si son números con decimales. Gracias por tu aporte.

  9. 9
    neyo Says:


    Álex, ¿podrías explicar un poco cómo es el programa que te avisa cuando hay ofertas? Siento curiosidad ;-) Gracias

  10. 10
    Alex Says:


    neyo, si sabes PHP y simular envíos POST, son 10 líneas :P

  11. 11
    Problemas con la web de Renfe … ¡de nuevo! Says:


    [...] Problemas con la web de Renfe … ¡de nuevo!86400.es/2009/09/25/problemas-con-la-web-de-renfe-%C2%A1de-n… por estebitan2 hace pocos segundos [...]

  12. 12
    Hola Says:


    Accenture, no digo más.

  13. 13
    Aberrabike Says:


    Que complicación a mi me va lo sencillo

    if((document.form2.Esnumero.value == “”) ||(http://www.w3schools.com/jsref/jsref_isNaN.asp(document.form2.Esnumero.value)))
    {
    alert(”Esto no es un número Chavalito”);
    document.form2.Esnumero.focus();
    return false;

    Para empaquetar en una función al gusto

    En este caso es tan fácil como usar la función isNaN

    http://www.w3schools.com/jsref/jsref_isNaN.asp

  14. 14
    Chexpir Says:


    Alex, son 10 líneas incluyendo saltarse el capcha? alguna librería habrá que usar para conseguir saltarselo supongo¿no? tampoco me he puesto a estudiar el asunto…

  15. 15
    Gabriel Says:


    Yo con la página de Renfe voy con mucho cuidadito. El explorer sólo le uso para ella y para algunas oficiales que me fallan con Firefox. Y con cuidado desactivo el bloqueador de ventanas, y en cuanto tengo el pdf con los billetes lo guardo por lo que pueda pasar.

    ¡Todas las precauciones son pocas!

    ¡Qué cruz!

Deja un comentario

Nota: el autor del blog se reserva el derecho de borrar un comentario si el email (que no se publica) no es válido. Si yo doy la cara ... tu también ;)
Artículo aleatorio Artículo aleatorio
Busca en 86400:
Artículo aleatorio

Te invito a otros blogs ...


Analizarte

Observatorio - imagen de arte