Résolvez un CAPTCHA et j’enlève le haut !

02/11/2007 Aucun commentaire
Cassez un captcha, et j'enlève le haut!

Vous ne rêvez pas: il s’agit bien d’une demoiselle peu vêtue (sous les pixels) aux côtés d’un CAPTCHA (qui n’a pas été censuré par l’opinion publique, lui). Une nouvelle dimension s’ouvre au social engineering.

Sous le nom de code TROJ_CAPTCHAR.A circule un petit « virus » qui propose à ses utilisateurs un striptease en échange de la résolution d’un CAPTCHA. Le but de la manœuvre n’est autre que de contourner ces derniers afin d’apposer le spam même en zone protégée.

On ne peut que souligner l’ingéniosité et l’innovation dont font preuve les spammeurs dans leurs ouvrages dédiés à la prose du Viagra. Allez, salut.

Sources: TrendLabs, Panda Software

Categories: Conception Tags:

Récuperation de l’ID d’une instance d’objet

02/11/2007 Aucun commentaire

Depuis PHP 5.2, il n’est plus possible de récupérer l’ID interne d’un objet via un cast en string sans avoir implémenté de méthode __toString sur ledit objet.

Ancienne méthode:

1
2
3
4
5
6
7
class foo {
    public function __construct() {
        echo "Hi, it's me!";
    }
}
$bar = new foo();
print $bar;

Auparavant, ce snippet renvoyait l’ID interne de l’objet. Désormais, et c’est plus propre comme ça, il lance une erreur fatale récuperable (« Catchable fatal error: Object of class foo could not be converted to string in filename on line n« ). Mais du coup, on perd un moyen simple et efficace de savoir à quelle instance d’un objet on a affaire, ce qui peut être très utile dans un processus de debug.

Fort heureusement, les gentils monsieurs de PHP ont implémenté une fonction qui permet de refaire la même chose: spl_object_hash() ! Hé ben voilà, le monde est sauvé. Allez, salut.

Categories: Code Tags: ,

Les images parlent d’elles même…

31/10/2007 Aucun commentaire
Screenshot Leopard
Icône d’un serveur PC avec MacOS X Leopard
Categories: Hors sujet Tags:

Sauvegarder l’état d’un objet

30/10/2007 Aucun commentaire

En nos temps où l’orienté-objet est roi, un schéma de fonctionnement revient régulièrement :

Un objet dont chaque instance correspond à une ligne en base. On charge les données lors de l’initialisation de l’objet (dans son constructeur), puis on les sauvegardes lorsque l’on a fini de les modifier.

La problématique est la suivante : mais quand a-t-on fini de les modifier? Dans 99% des cas, « ça dépend« . Les méthodes pour implémenter cette notion sont légions: une méthode genre save que l’on appelle « à la fin« , une sauvegarde systématique à chaque modification, et la rationnelle mais risquée sauvegarde dans le destructeur de l’objet.

Cette dernière méthode semble la plus intéressante, puisqu’elle défini avec une presque certitude la notion de « fin » de modifications. Toutefois, dans notre contexte orienté objet, il y a de fortes chances que l’on utilise un objet pour se connecter à la base de donnée. Et cet objet fermera probablement sa connexion dans le destructeur. Et comment savoir que la base est encore connectée lors de l’exécution du destructeur de notre objet de données? C’est le drame.

Lire la suite…

Categories: Code Tags: ,

Le retour de la vengeance

30/10/2007 Aucun commentaire

Ce blog a été disponible durant deux mois sur un réseau interne constitué de deux postes (celui de mon colocataire, et le mien).
Après une migration début 2006, il trouva sa place en ligne sur OVH.
Un an après, OVH ferma le compte sur lequel ce blog était hébergé, dans un terrible effort de censure anticonstitutionnelle (autre version: les avertissements d’OVH « votre periode d’abonnement se termine dans une semaine! » étaient tous partis en spam, et je ne les ai retrouvés qu’après avoir perdu toutes les données).

À ce moment là, ma chère et tendre, traumatisée par la perte, pris soin d’enregistrer les diverses pages encore présentes dans le cache de Google afin de pouvoir éventuellement réanimer le défunt, chose qui ne se fit pas, faute d’énergie et de motivation. Les dates coïncident avec un changement de taf (suite au sujet que vous pouvez voir un peu plus bas) couplé à un déménagement en France, ce qui n’a pas aidé. Durant de nombreux mois, ce blog cessa d’exister.

Et voilà ! Il est de retour. Grâce aux efforts conjugués de mon âme sœur et de archive.org, j’ai récupéré la quasi totalité des données perdues, à part deux billets (et pas des moindres, mais il faut savoir laisser prise à ces liens matériels, pas vrai?). Je vais donc à nouveau pouvoir poster des conneries pour ne rien dire et des infos techniques intéressant au moins deux personnes sur Terre, à savoir ma mère et ma copine, uniquement pour leurs fiertés propres, d’ailleurs.

Sinon, pour restituer le contexte, et parce que ça fait tout de même pas loin d’un an que l’on ne s’est plus vus, vous et moi (ou devrais-je dire « cher journal« ? Raah, c’est vraiment trop kitch), je travaille actuellement chez Ankama comme développeur client sur Dofus, tout en travaillant sur pas mal d’autres trucs en même temps. D’ailleurs, je suis de moins en moins dev client.

Bon, c’est pas tout, mais je vais essayer de poster des trucs qui peuvent être utile, aussi. Allez, salut.

Categories: Hors sujet Tags: , ,