Utiliser Iptables pour bloquer les accès par pays

26 septembre 2012

Voici la traduction d’un article de   qui est disponible ici : Linux Iptables Just Block By Country - Merci à l’auteur de m’avoir donné l’autorisation de traduire son article.

Je gère un site de commerce électronique et un grand nombre de traffic indésirable (spam, tentative de hack, …) provient de certains pays dont l’intention d’achat est clairement inexistante. Je me posais alors la question de pouvoir mettre ne place un système basé sur Apache ou iptables pour bloquer les connections provenant de ces pays.

Utiliser l’API météo de Google

23 février 2012

Pour un de mes sites perso sur les villes de France, j’utilisais le webservice météo fourni par The Weather Channel mais quelques temps celui-ci est devenu payant j’ai donc dû trouver une solution alternative. Apres un peu de recherche à droite et à gauche j’ai trouvé un webservice peu connu et peu documenté fourni par Google correspondant bien à mes besoins.

Traitements parallèles grâce a Gearman

30 juin 2011

Je me suis déjà frotté au multitâche avec PHP, et il faut dire, avec un certain recul et pas mal de temps de tests, que je suis plutot déçu par la stabilité du système mis en place. J’avais développé ça sur une base de forks de process. Ça marchait bien jusqu’à un certain point, lorsque le serveur était un peu chargé (à peine plus que d’habitude) certain de mes process plantaient aléatoirement, jamais le même process. Peut-être que j’abusais un peu, mais bon j’en ai besoin de mes 200 process moi.

Dans ma quête de stabilité, je me suis dit qu’utiliser Gearman serait une bonne idée, il est censé être simple, scalable, stable, et tout et tout.

cURL multi prend tout mon cpu !

7 avril 2011

Pour un projet j’utilise de façon assez intensive cURL multi dans mes scripts et je me suis rendu compte qu’il me prennait quasiment 100% de mon cpu.

// Préparation des handles cURL
 
do
{
    curl_multi_exec($mh, $running);
}while($running>0);
 
// Traitement des requetes

C’est biensûr la boucle do … while qui est en cause ici.

Associer un sous-domaine à une application symfony

2 juillet 2010

Coté serveur web

Il faut soit  créer des virtual host pour tous vos sous-domaine.

Soit créer un seul virtual host en utilisant des wildcards dans le ServerAlias, du coup tous les sous-domaines pourraient correspondre à une application, plus besoin de créer autant de virtual hosts que de sous-domaine. Il doit même être possible d’utiliser les wildcards dans la déclaration du domaine dans le gestionnaire de dns.

PHP fait du multitâche

26 février 2010

Pour les besoins d’un projet effectuant un grand nombre de tâches répétitives, j’ai dû mettre en place un système basé sur un script PHP lancé par cron à intervalles réguliers. Il n’y a aucune difficulté particulière à réaliser ceci, là où ça commence à être intéressant c’est à partir du moment où il a fallu que ce script puisse lancer plusieurs tâches en même temps.

On a donc un script lancé à intervalles réguliers qui lui même va lancer et gérer un certain nombre, configurable, de tâches concurrente. Voici comment j’ai procédé.

Zero, c’est la tête à toto

4 février 2010

C’est pas moi qui le dit, c’est PHP.

La preuve :

var_dump(0 == "toto");

Voir ça sur codepad

La vie est belle

2 février 2010

D’habitude je ne parle que technique sur ce blog, mais pas cette fois-ci.

Qui veut une invitation à Google Wave ?

7 décembre 2009

Il me reste 3 invitations à Google Wave, si vous en voulez une laissez moi un commentaire ici.

Faites vite, seuls les 3 premiers en auront une.

Attention à la faille dans subversion

19 novembre 2009

Enfin, c’est pas vraiment une faille, c’est juste que lorsque l’on déploie un projet à partir d’un dépôt subversion, il faut faire attention aux fichiers et répertoires .svn qui peuvent être visibles, selon  la configuration de votre serveur web.

Pour empêcher ça avec apache, quelques lignes dans votre httpd.conf suffisent :

<Directory ~ ".*\.svn">
    Order allow,deny
    Deny from all
    Satisfy All
</Directory>

Thanks Anton Isaykin for pointing that out to us.