(In)Seguridad Insensatos

Problemas con la web de Renfe … ¡de nuevo!

[su_wiloke_sc_rating_chart title="¿Te gusta el artículo? ¡Valóralo!"]0 media basada en 0 votos[/su_wiloke_sc_rating_chart]

[su_wiloke_sc_company_website]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

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!

[su_wiloke_sc_related_gallery][/su_wiloke_sc_related_gallery]

Alex

Ciudadano del mundo. Me encanta llevarme mi cámara fotográfica para inmortalizar esencias y experiencias en lugares diferentes, donde la gente vive diferente, pero donde todos disfrutamos cada día de puestas de un mismo Sol.

Vistos recientemente...

Cómo hacer un concurso y no gastar en premios

No es de extrañar que cada vez haya menos negocios

Adios Telepizza

Las compañías de telecomunicaciones están degradando la reputación de los latinoamericanos

CUIDADO: todas las restauraciones de servidores en 1and1 hacen el servidor inoperativo

17 Comments

  1. /b/

    Que puedo decir??
    Spain is different…

    25 de septiembre de 2009
  2. DoodoM

    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

    26 de septiembre de 2009
  3. DoodoM

    ¡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.

    26 de septiembre de 2009
  4. Y0K3S3

    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

    26 de septiembre de 2009
  5. Darkhogg

    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.

    26 de septiembre de 2009
  6. Darkhogg

    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.

    26 de septiembre de 2009
  7. DoodoM

    @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?

    26 de septiembre de 2009
  8. DoodoM

    @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.

    26 de septiembre de 2009
  9. neyo

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

    26 de septiembre de 2009
  10. Alex

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

    26 de septiembre de 2009
  11. Hola

    Accenture, no digo más.

    28 de septiembre de 2009
  12. Aberrabike

    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

    30 de septiembre de 2009
  13. Chexpir

    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…

    30 de septiembre de 2009
  14. Gabriel

    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!

    30 de septiembre de 2009
  15. Desarrollo web

    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

    11 de octubre de 2011