Trucs de geek

A bicyclette

Posted on November 12, 2007

Ce matin, avant d’aller donner un TP de bases de données à l’ECE, je suis allé chez Décathlon acheter un vélo. Je voulais prendre le premier prix, mais la selle était bien dure, donc montée en gamme, avec un B’Twin 5 avec une selle avec du gel dedans.

Les grévistes peuvent gréver (sic), rien à faire (avant aussi, y avait rien à faire à part les détester)

Au niveau des performances, c’est pas mal. Le premier benchmark entre le Décathlon Porte de Montreuil et le café en bas de la rue du Bac avec le café posé sur ma table et vélo garé/antivol verrouillé : 40 minutes.

Et y a de la place pour l’optimisation vu que je n’ai pas trouvé le trajet optimal.

Le GPS m’indique une distance de 11km, sur un trajet relativement sympa : Nation, Bastille, île de la Cité, quartier latin.

J’ai quand même réussi à dérailler boulevard Diderot :/

La sécurité et le wifi

Posted on November 08, 2007

malin.jpg

Un screenshot pris pendant un TP.

Ma déontologie m’empêche de fouiller, et pourtant, on trouverait des trucs cotons !

Ceci dit, l’utilisateur lui-même n’est pas le seul en faute… Si je me souviens bien, l’interface de Windows est tellement décourageante qu’on a pas envie de mettre un mot de passe.

SVN et PHP : attention !

Posted on November 08, 2007

PHP

Le site GForceSoftware nouveau est arrivé.

Il est hébergé sur le serveur d’Ohm Force dont j’ai la charge ; c’était une expérience intéressante, car je devait mixer une application à base de Servlets avec une application PHP, derrière le même domaine.

En frontal, il y a nginx, le serveur http russe léger et qui fonce.

Pendant 24 heures, il y avait un trou de sécurité flagrant, qui permettait de récupérer le code source des scripts php, à cause de svn. (je me suis tapé sur la tête quand je m’en suis rendu compte. Heureusement en analysant les logs, personne n’a eu l’idée de l’exploiter).

SVN

Le déploiement sur la production, c’est un checkout des scripts. C’est à dire que tous les répertoires ont un répertoire .svn qui contient les métadonnées sur les fichiers du répertoires ainsi qu’un cache contenant les fichiers originaux tels qu’ils sont stockés sur le repository svn.

Les fichiers originaux sont identifiés par une extension svn-base.

La faille

Or la configuration du serveur est d’envoyer le contenu tel quel pour une extension inconnue.

Du coup, on pouvait récupérer le code de la page d’index avec ce lien :

http://www.gforcesoftware.com/.svn/text-base/index.php.svn-base

Pas glop.

La correction

Donc pensez bien à ajouter la configuration suivante dans votre serveur web (ici pour nginx) :


location ~ .svn/ {
        deny all;
    }

La conclusion

C’est un des trucs qui me plaît le moins avec PHP, le fait que l’arborescence détermine l’URL, je préfère un MVC un peu plus abstrait comme avec les servlets ou avec Rails. On a beaucoup plus de souplesse, sans s’encombrer de rewrite rules trop complexes.

Vu que pour le MVC, toutes les URLs sont masqués derrière le contrôleur l’utilisateur ne sait même pas quel est l’arborescence système.

Sur le site Ohm Force, les JSP elles-même sont cachés dans le répertoire WEB-INF dont le contenu n’est pas publié.