Une astuce pour se protéger des attaques CSRF

mardi 20 janvier 2004 :: perrick :: PHP :: 2 commentaires :: aucun trackback

C'est dans l'article en ligne du dernier Direction | PHP que je viens de trouver une astuce intéressante pour se protéger des attaques CSRF. Tout d'abord une définition : CSRF = Cross-Site Request Forgeries, il s'agit d'une attaque par simulation de requête HTTP.

Ensuite extrait de l'article : Obligez l’utilisateur à utiliser vos formulaires HTML.

Mes techniques préférées sont celles qui impliquent un secret partagé entre le serveur et l’utilisateur légitime. [...] A chaque fois qu’un utilisateur demande un formulaire, une nouvelle marque est générée et cette marque est sauvegardée sur le serveur (dans la session de l’utilisateur, remplaçant les précédentes) et incluse dans le formulaire comme une variable cachée du formulaire. Ainsi, quand un message est posté, non seulement la marque est comparée à celle de la session de l’utilisateur, mais un temps mort peut également être appliqué pour minimiser davantage le risque.
Le reste de l'article est aussi très intéressant pour ceux qui ne sont pas encore familiers de "sécurité en applications webs". Et l'auteur -- Chris Shiflett -- écrit d'autres choses : un livre, HTTP Developer's Handbook, et un blog que j'ai ajouté à ma liste personnel.

Les start-ups, la nouvelle génération

jeudi 15 janvier 2004 :: perrick :: Management :: aucun commentaire :: aucun trackback

Dans un billet "The Soul of the New Startup Machine" du 280 Group Blog -- pas de permalien, Brian Lawley remarque que les start-ups de la Silicon Valley retrouvent leurs habitudes d'antan : deux mecs et un garage. On sert les coûts un maximum avec une particularité tout de même : le site web qui devient plus important que les locaux physiques. Si ça vous rappelle quelqu'un vous avez peut-être raison...

Instabilité avec svchost.exe

mardi 13 janvier 2004 :: perrick :: Connexe(s) :: 41 commentaires :: aucun trackback

Symptôme (sous Windows 2000) : quelques minutes après une connection avec un modem simple ou ADSL, j'ai un message d'erreur à propos du fichier svchost.exe. Et au passage des ralentissements, des liens qui ne marchent plus sur le bureau ou avec mon gestionnaire de version.

Vu le nombre d'appels au secours que j'ai lus avant de découvrir un lien correspondant à mon problème, je mets ici un lien vers Mircrosoft (une fois n'est pas coutume ;-) : http://www.microsoft.com/downloads/[...]. Une fois le patch téléchargé et installé, je n'ai plus eu de problème.

Apéro PHP de janvier 2004

mercredi 7 janvier 2004 :: perrick :: PHP :: 2 commentaires :: aucun trackback

Je profite de ce nouvel apéro PHP -- organisé cette fois par 6 ANUR (alias JMF de Dying Culture) -- pour vous souhaiter à tous une bonne année 2004.

Petit rappel à mettre dans les agendas et les coins de tête : l'apéro aura lieu le mercredi 21/01/2004 à 20:00, toujours au Clair-Obscur. Comme c'est à chaque fois un bon moment autour d'une bière et que la discussion n'est pas toujours "technique", je recommande.

Note du 14/01/2004 : l'apéro est reporté au mercredi 28/01/2004 à 20:00.

Parce qu'il faut mieux en rire

lundi 22 décembre 2003 :: perrick :: PHP :: aucun commentaire :: aucun trackback

Voici un cadeau de fin d'année : une compilation de questions à propos de PHP & Co mise en ligne par Derick Rethans : Assorted Funny User Questions / Comments. Et une parmi mes préférées : Subject: Stupid !!! avec la réponse de Rasmus.

Et au passage un joyeux noël à tous ;-)

Premier pas vers l'Extreme Programming

jeudi 18 décembre 2003 :: perrick :: Extreme Programming :: 4 commentaires :: un trackback

Pendant le forum PHP, j'ai récupéré un bouquin sur l'Extreme Programming que j'ai dévoré. Par contre je suis seul à développer sur openTIME -- donc pas possible de faire de la programmation à 2. Même chose pour toutes les recommandations où il faut être en équipe avec des rôles bien assignés.

Et pourtant je m'astreins à créer un test unitaire à chaque découverte de bug et à chaque étape de refactoring. Et aujourd'hui ça a payé : j'ai pu découvrir deux bizarreries à partir de mon test d'origine. Le genre de bricoles qui marchent quand même parce que je suis en local mais qui une fois sur un serveur de production peuvent rendre perplexe.

Et un lien que je n'ai pas encore exploré sur le sujet : http://xp-france.net/cgi-bin/wiki.pl.

Comment le travail collaboratif modifie les rapports directs

:: perrick :: Développement :: 2 commentaires :: aucun trackback

Via le blog de Scott Jonhson, j'arrive sur un article de Ross Mayfield Augmenting Social Interaction. Il y évoque les modifications dans les rapports humains suite à l'utilisation grandissante des outils de travail collaboratif (en particulier le wiki -- qui est son outil phare).

Et j'ai eu droit hier -- à l'apéro PHP -- à une vérification flagrante : avec Jean-Marc Fontaine de Dying Culture, on a eu une discussion très pointue sur nos sujets de prédilection (PHP, CSS, XHTML, développement web & co.) avec des références communes alors que :
1/ on ne se croise que tous les 3/4 mois de visu autour d'une bière
2/ on s'envoie un mail tous les 2/3 mois
3/ on lit le blog de l'autre et pas mal de blogs en commun

L'effet est le même que la télé : à une époque c'était le seul sujet de discussion commun dans la cour de récréation. Sauf que désormais je n'ai plus la télé...

Apéro PHP lillois -- le 17/12/2003

mardi 16 décembre 2003 :: perrick :: Connexe(s) :: aucun commentaire :: aucun trackback

Un nouvel apéro PHP se monte sur Lille, et c'est pour bientôt : le 17/12/2003 à partir de 20h au Clair - Obscur (rue Basse à Lille). J'y ai demandé qu'on mette deux tables rien que pour nous. C'est toujours sympathique de se retrouver au milieu de nos éléphpants... et de quelques bières !

Installer une application web le plus simplement du monde

vendredi 12 décembre 2003 :: perrick :: PHP :: aucun commentaire :: aucun trackback

En tant que développeur d'une application web -- openTIME en l'occurence -- je me réjouis de voir apparaître des idées comme celle-ci : Toward the Improvement of Web Application Management. Stuart Herbert y explique -- en anglais -- comment la distribution Linux Gentoo proposera une installation simplifiée d'application web : tout se fera avec une seule ligne de commande et leur fétiche emerge.

Ici, c'est vrai qu'on préfère la distribution Debian : peut-être que bientôt on pourra créer un paquet opentime.deb ?

PS : cet article est inclus dans le magazine php|arch du mois de décembre 2003.

Modeste contribution à Joel on Software

lundi 1 décembre 2003 :: perrick :: Management :: aucun commentaire :: aucun trackback

Il y a pas loin de 2 ans j'ai découvert le blog de Joel Spolsky. Je lui dois pas mal de choses, entre autre ce blog :: on pk ::. Durant l'été dernier, j'ai effectué une modeste contribution à l'effort de traduction en français : La rémunération chez Fog Creek a été d'abord traduit par Emmanuelle Phan, puis vérifié par mes soins et finalement mis en ligne par Joel.

De nombreux articles sont disponibles en français parce que : First of all, not every programmer knows English, and if they do, they may not know it that well, so they may not really enjoy reading things written in English if they don't have to. Second, even if the programmers have learned enough English to decipher online documentation, their pointy-haired bosses from management may not have.

Des photos du forum PHP 2003 à Paris

samedi 29 novembre 2003 :: perrick :: PHP :: 2 commentaires :: aucun trackback

Voici une petite liste récapitulative des photos du forum PHP 2003 chez les uns et les autres :

Forum PHP 2003 : deuxième

jeudi 27 novembre 2003 :: perrick :: PHP :: un commentaire :: aucun trackback

Toujours dans la démarche d'un compte-rendu rapide des différentes conférences auxquelles j'ai pu assister, quelques notes prises en en live :

- Optimisez vos développements PHP avec UML par Sébastien Hordeaux. Ou comment faire de l'UML sans le savoir. C'est intéressant de découvrir une formalisation des "cas d'utilisation" et autre diagramme d'activité. Au niveau des diagrammes de classe -- qu'il est peut-être la partie émergée de l'iceberg UML -- un outil prometteur : WaterProof::UML (par le développeur de PHPEdit). Particulièrement intéressante les fonctions aller ET retour entre le diagramme UML et la classe PHP.

- PostgreSQL & PHP : l'alternative par Stéphane Mariel. Pour un utilisateur avancé de MySQL -- on y reviendra -- j'ai découvert des fonctionnalités assez originales d'une base de données, je veux parler des points et distances qui composent une application "géographique". Autre découverte, la possiblité d'écrire des procédures stockés directement en PHP.

- Gérer les erreurs en PHP par Frédéric Bouchery. Quelques notes pour aller encore plus loin sur ce qu'on fait à ce niveau dans openTIME : relire la doc sur les "assert_options" et penser "autorisation" au lieu de "blocage". C'est pas la première fois que je croise ce passage d'une "black-list" à "white-list" mais ça fait toujours du bien de se le redire.

- Héberger un projet PHP par Damien Seguy. Etant donné que je n'ai jamais eu à administrer des configurations web à haut, voir très haut traffic, c'est uniquement informatif pour moi. Par contre une anecdote très pertinente sur l'utilisation de l'erreur 404 effectué par Rasmus Leedorf -- ou comment poser la question à l'envers pour être super efficace : il utilise une erreur 404 pour créer un fichier demandé dynamiquement. Ensuite le fichier existe et l'erreur 404 disparaît automatiquement. Au bout d'un temps X, je peux effacer mon répertoire avec tous les fichiers créés à la volée : ça s'appelle un cache dynamique (ou paresseux).

- Régles de sécurité pour PHP par Alain Thivillon. On y a beaucoup parlé du "vieux" problème lié au "registar_global". Dommage parce que le concept -- issu de Perl -- d'avoir une variable "tainted" est assez intéressant : en gros, une option permet de rendre inutilisable directement toute variable saisie par l'utilisateur de l'application. Un traitement préablable est obligatoire.

- MySQL 5 par Michael Carney et Guilhem Bichot. Une présentation très drôle pour un public acquis, exigeant ET français : comment utiliser les procédures stockés dans MySQL 5 pour supprimer un jour de congés. Désolé pour les belges, les suisses (et d'autres ?) qui n'ont peut-être pas apprécié le pied de nez à M. Raffarin.

- PHP 5 Overview (for developers) par Zeev Suraski. Pas de grande nouveauté de la part de Zeev à part peut-être que la fonction __autoload en OOP, l'ajout de fonction PHP dans une commande SQL vers SQLite et l'éventualité d'une couche d'abstration en C pour un futur plus ou moins proche (je me demande si John Lim ne serait pas là-dessous : on en reparlera).

Quelques notes sur le forum PHP

mercredi 26 novembre 2003 :: perrick :: PHP :: aucun commentaire :: aucun trackback

J'ai un peu raté le début des conférences ce matin -- rendez-vous professionnel oblige -- mais ce que j'ai vu reste intéressant :

- Connecter PHP à SAP par Arnaud Lahaye. Juste pour voir que c'est faisable, que ça tourne pas mal.
- Pourquoi Cermex base tous ses développements métier sur PHP par Eric Poisse. Une présentation moins bien ficelée et ça se sent très vite. C'est assez dommage parce que leur projet PHAZ a l'air intéressant.
- Interopérabilité .NET, J2EE, PHP par Nicolas Hoizey. On y a parlé avec des pincettes -- à grand coup de "devrait", de "pourrait", bref rien de très concret pour l'instant à part un SOAP qui pointe le bout de son nez, à utiliser avec moderation quand même.
- PHP - past, present and future par Zeev Suraski. Au delà de la mode du Orienté Objet, le PHP5 présenté séduit avec XML et SQLite -- affaire à suivre.
- Table ronde : PHP pour quels projets ? Il y a toujours le délicat problème du libre et du gratuit et on a encore abordé PHP par le biais du free-as-in-beer (comprendre "gratuit"). D'un autre côté reste à savoir si PHP deviendra un jour ou l'autre un langage de référence dans les DSI par ses qualités propres ou s'il faudra attendre que les étudiants élevés par Free et Co en France accèdent aux postes de direction.

Rendez-vous demain soir pour d'autres commentaires à chaud... et donc sans d'autres prétentions que d'être là.

Le web d'aujourd'hui et d'ici

vendredi 21 novembre 2003 :: perrick :: Connexe(s) :: 3 commentaires :: aucun trackback

Ces derniers temps, j'ai effectué quelques présentations du web d'aujourd'hui par mon bout de la lorgnette :

A force de lire en anglais -- j'ai habité à Londres pendant 10 ans -- j'avais oublié à quel point la langue, en plus de la technologie était un frein à l'appropriation de ce web contemporain. Alors quand SPIP ou dotClear sont biens ET en français, forcément des yeux s'ouvrent. Et c'est la même chose quand je présente openTIME en clientèle : sans tomber dans le cocorico-isme, il s'agit véritablement d'une particularité déterminante dans l'adoption d'une application informatique.

Rendez-vous au forum PHP

mercredi 19 novembre 2003 :: perrick :: PHP :: aucun commentaire :: aucun trackback

Je serais présent au forum PHP à Paris la semaine prochaine : au Club Confair, les 26 et 27 novembre 2003. Plus d'infos sur le site de l'AFUP : http://www.afup.org/forumphp/. Peut-être y croiserai-je l'un ou l'autre d'entre vous ? En tout cas n'hésitez pas à me contacter / provoquer pour que la rencontre ait lieu ;-)