1 Star2 Stars3 Stars4 Stars5 Stars
Loading ... Loading ...
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

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

  1. 1
    /b/No Gravatar Says:


    Que puedo decir??
    Spain is different…

  2. 2
    DoodoMNo Gravatar 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
    DoodoMNo Gravatar 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
    Y0K3S3No Gravatar 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
    DarkhoggNo Gravatar 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
    DarkhoggNo Gravatar 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
    DoodoMNo Gravatar 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
    DoodoMNo Gravatar 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
    neyoNo Gravatar Says:


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

  10. 10
    AlexNo Gravatar 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
    HolaNo Gravatar Says:


    Accenture, no digo más.

  13. 13
    AberrabikeNo Gravatar 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
    ChexpirNo Gravatar 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
    GabrielNo Gravatar 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!

  16. 16
    Renfe, día a día haciendo tus trayectos más cortos « Mi visión del mundo Says:


    [...] al cliente y es que la web de renfe, desde el primer día ha funcionado de maravilla, (un ejemplo, otro ejemplo (para geeks), otro más, y otro, ¿alguien dijo problemas?, es una web defectuosa, y es difícil [...]

  17. 17
    Desarrollo webNo Gravatar Says:


    Un par de vídeos sobre errores que presenta la web de Renfe:

    Errores web: Renfe y los nombres de las ciudades

    Errores web: Renfe y las fechas

Artículo aleatorio

Te invito a otros blogs ...