Archives du site

Utilisation d’un système de cache

Le système de cache permet de stocker des données de façon à les rendre accessibles très rapidement. En général, ces données sont souvent utilisées en lecture et rarement en écriture.

Dans cet article nous allons mettre en place un système de cache pour une liste d’utilisateurs. Ce système chargera cette liste depuis la base de données toutes les heures afin de s’assurer que le cache est bien à jour et lira le fichier de cache le reste du temps.
Cette fonctionnalité nous permet limiter les accès à la base de données, et surtout accélérer la vitesse de chargement de la liste.[…]

Testez les articles en ligne

Suite à la demande d’un lecteur intéressé (Axel DOUX, pour le citer), j’ai le plaisir de vous annoncer que vous pouvez dès à présent tester les articles écris sur ce blog directement en ligne.

preg_match VS preg_replace

Après lecture d’un titre comme celui là il est normal de se demander ce qu’on peut comparer entre preg_match et preg_replace. En effet, ces deux fonctions PHP n’ont pas le même but : preg_match test si une chaîne de caractères réponds à un modèle (ou pattern) alors que preg_replace remplace le modèle trouvé par une autre valeur.

La question que je me suis posé est la suivante : Est-il plus interressant d’utiliser preg_match ou preg_replace pour convertir une date MySQL en format Français ? (2009-12-13 01:45:00 => 13/12/1988 01:45:00)
[…]

Configuration des erreurs

Pour tout site en développement il est interressant de voir rapidement les erreurs rencontrées par PHP ou toutes les librairies que vous utilisez. Voir les erreurs « en live » sur le site permet de rapidement les analyser et donc de les conriger.

Un problème apparait lorsqu’un site est mis en ligne (et donc à la merci des pirates). L’affichage d’une erreur donne énormément d’informations quant à une faille probable. Ces erreurs peuvent indiquer l’utilisation d’une librairie spéciale et spécialement sa version. Et connaître la version d’une librairie permet surtout de définir l’ensemble des bugs ou failles qui ont été corrigés dans des versions postérieures.

Un exemple qu’on croise assez souvent c’est les erreurs de requête SQL joliment offert aux pirates :

Unknown column 'iid' in 'where clause'
SELECT id,login FROM user WHERE iid=1

Notons que cette erreur nous donne la table utilisée pour séléctionner un utilisateur. On peut aussi voir apparaitre la structure (une partie au moins) de cette table.

Pour limiter la vitesse d’action des attaquants, il est important de leurs fournir le moins d’informations possible. Et donc de ne pas afficher les erreurs directement sur le site.
[…]

Configuration générale de PHP

Lorsque vous installez un nouveau serveur avec Apache et PHP, vous n’avez pas forcément les fichiers de configuration configuré comme il le faudrait. Cette article n’a pas pour prétention de vous donner la solution à tout, mais séléctionnez dans les configurations ci-dessous celles qui vous semblent importantes.

Vous trouverez ci-dessous une liste des fonctionnalités et la valeur conseillée concernant la configuration générale de PHP.
[…]