Code du jour: Barnier ne peut pas se connecter (T)

Publié le 19 mai 2009 par Wtf

"Barnier ne peut pas se connecter," lança le responsable de David, "Il faut réparer ça. De suite !"

Quelle meilleure façon de commencer une semaine? Quand Barnier ne pouvait pas se connecter, cela sous-entendait qu'il ne pouvait pas exécuter ses rapports d'activité. Et ça sous-entendait aussi que la société toute entière devait stopper toute activité et se concentrer sur son nouvel objectif archi prioritaire : les rapports de Barnier.

A contrecoeur, David appela Barnier. Comme prévu, celui-ci n'était pas content du tout. "Ca n'arrête pas de me demander mon foutu code PIN," jurait Barnier, "Pourquoi est-ce que je dois tout le temps le retaper ce satané code PIN? Il me faut absolument ces rapports!".

Pour des raisons inconnues, le système de reporting de la société utilisait un code PIN de quatre chiffres pour authentifier ses utilisateurs. David sélectionna son nom dans la liste des logins, et saisit son code PIN : 7734. Et le système fonctionna à merveille. Enfin, aussi merveilleusement que ce vieux système de reporting PHP le permettait.

Personne n'avait touché au code depuis des années, David pensa donc que le problème venait du navigateur web de Barnier. Peut-être un problème de fichier cache? De zone de confiance? Cookies désactivés? Fichiers corrompus? David essaya toutes ces possibilités en vain, Barnier devenait de plus en plus énervé.

"Ou sont mes rapports?" Insista Barnier, "Je les veux tout de suite".

Sur un coup de tête David demanda à Barnier quel était son code PIN. "Hmphf", toussa Barnier, "Je viens juste de le changer, et maintenant il va encore falloir que je le change ! Mon foutu code PIN est 0010!"

Et là, dans la tête de David, ce fut le déclic. Il créa un nouvel utilisateur, lui spécifia le code PIN "0010" et se connecta avec. Il navigua ensuite sur le site, puis attendit pendant dix secondes pour recliquer sur un lien… avant d'être éjecté sur la mire de login.

Pour confirmer son soupçon, il jeta un coup d'oeil au code...

$_SESSION['TIMEOUT'] = $this->getTimeOut();

Creusant un peu plus loin, David rechercha la fonction getTimeOut...

function getTimeOut()
    {
        return $_POST['pin_number'];
    }

Craignant de démolir le vieux système PHP, David remis le code PIN de Barnier à 1337 et lui conseilla de ne plus jamais le changer pour une valeur inférieure à 1000...