Installer Sender ID et DomainKeys sur Debian

Lorsque l’on créé et installe soit même son serveur de mail (ce qui n’est pas une mince affaire), il faut ensuite se mouiller au problème des filtres de spam chez les “grands” comme Yahoo! ou Microsoft.

Dans tout cet article, nous allons voir comment mettre en place les services SenderID et DomainKeys pour autoriser le nom de domaine “mes-stats.fr” à envoyer des mails vers les serveurs de mails de chez Microsoft et de chez Yahoo! Continue reading Installer Sender ID et DomainKeys sur Debian

facebooktwittergoogle_plusredditpinterestlinkedinmail

Triggers et clés étrangères

Sous PostgreSQL, il y a plusieurs langages de procédures comme plpgsql pour éxécuter des commandes (surtout SQL) au sein de la base ou pgplsh pour créer des fonctions écrites en shell.

Avec ces langages, on peut écrire des fonctions qui seront appellées via des SELECT ou PERFORM dans le cas d’une éxécution depuis une autre fonction. Cependant, elles ont un autre avantages : elle peuvent être appellées par des triggers. Ce sont, en français, des déclencheurs, c’est-à-dire que c’est fonctions sont appelée avant ou après chaque ajout, modification ou suppression de ligne ou bien avant ou après chaque instruction (qui peuvent contenir plusieurs opérations de modification de ligne).

Les triggers peuvent modifier les données dans le cas d’une modification ou d’une insertion mais peuvent aussi empècher l’éxécution de l’opération dans tous les cas (à condition que le trigger soit paramétré pour être éxécuté avant l’opération sur la ligne). Les triggers après-insertion sont plus utiles qu’ils peuvent en avoir l’air car il permettent de répliquer des informations par exemple, ou de complèter des tables de backups par exemple. De plus, ces triggers AFTER ont connaissance des informations de séquences (clés primaires auto-complètées par exemple). Continue reading Triggers et clés étrangères

facebooktwittergoogle_plusredditpinterestlinkedinmail

PostgreSQL : Une fonction en shell

Le langage de fonction principal de PostgreSQL est plpgsql, langage qui permet beaucoup d’interaction au sein de la base de données. Cependant, lorsque l’on veut automatiser un grand nombre de procédures au niveau de la base de données, il faut parfois avoir accès aux commandes shell, chose qui n’est pas possible dans plpgsql.

Pour avoir accès au shell, il nous faut changer le langage de fonctions. Nous allons donc choisir un langage créé pour creer des fonctions entièrement en shell !

PL/sh Procedural Language Handler

Comme nous l’apprend le titre, PL/sh est un langage de procédure créé pour PostgreSQL par Peter Eisentraut en 2001. La dernière version est actuellement la version 1.3 datant de fin décembre 2007, adaptée pour les versions 8.2 et 8.3 de PostgreSQL. Continue reading PostgreSQL : Une fonction en shell

facebooktwittergoogle_plusredditpinterestlinkedinmail

Installer phpPgAdmin

Nous allons voir ici comment installer simplement phpPgAdmin, une administration très complète pour les bases de données PostgreSQL. Pour les utilisateurs de MySQL, on peut dire que c’est “le phpmyadmin de PostgreSQL”.

Téléchargement des sources

Ici, rien de plus simple, on va créer un dossier pour phppgadmin puis télécharger les sources dedans : Continue reading Installer phpPgAdmin

facebooktwittergoogle_plusredditpinterestlinkedinmail

Activer la librairie PostgreSQL de PHP

Activer la librairie PHP de PostgreSQL est très simple théoriquement, nous allons voir la méthode “la plus simple” et ensuite les problèmes qui peuvent arriver.

Chargement dynamique de la librairie

PHP propose un chargement dynamique des extensions. Dynamique dans le sens où nous n’avons pas besoin de recompiler PHP pour ajouter une nouvelle extension.

Nous allons donc demander à PHP de charger la librairie pgsql.so à chaque démarrage : Continue reading Activer la librairie PostgreSQL de PHP

facebooktwittergoogle_plusredditpinterestlinkedinmail

Installer & Configurer PostgreSQL sur Debian

On trouve beaucoup moins de documentations sur Internet pour installer PostgreSQL que MySQL. C’est pourquoi, j’ai penser que faire un petit “How to” pouvais être intéressant. Ici, nous allons installer la version 8.3.3.

Pré-installation

Avant de commencer à télécharger les sources, nous allons installer différents packets neccessaires à l’installation de postgreSQL.

apt-get install libreadline5 libreadline5-dev gettext

Téléchargement des sources

Avant tout, nous allons télécharger les sources de postgresql dans un répertoire dédié. Continue reading Installer & Configurer PostgreSQL sur Debian

facebooktwittergoogle_plusredditpinterestlinkedinmail

Protection des adresses email sur un site internet

Le problème de spam est un problème très important quand on sait que les botnets actuels peuvent envoyer plus de 100 milliards de spam chaque jour ! C’est pourquoi, nous allons voir deux méthodes qui permettent d’éviter un maximum que les robots ne trouvent notre adresse mail…

La plupart des robots de spam récupèrent les adresses email en scannant les pages web de certains forums et autres lieux où les utilisateurs sont amenés à laisser leur(s) adresse(s) mail. Ces robots analysent la source de la page web. C’est-à-dire qu’ils cherchent dans la page web (pas du coté du visuel mais du coté du code, ce qui est important) une adresse mail.
Alors que certains robots cherchent uniquement des email du type mon.nom@fai.tld, d’autres cherchent aussi les adresse comme nom.nom-AT-fai.tld et un grand nombre d’autres solutions utilisées par de nombreux internautes pour se faire croire que s’ils mettent des adresses mail sous cette forme, ils n’auront pas de spam… Continue reading Protection des adresses email sur un site internet

facebooktwittergoogle_plusredditpinterestlinkedinmail

PHP : Appeller une fonction dans une regex

En PHP, on ne peut pas réellement appeler une fonction dans le résultat d’une REGEX directement… Il faut donc contourner un peu et on arrive à un résultat très pratique.

Prenons un exemple, nous mettons en place un système de bbcode sur notre site. Tout marche très bien, “[b]” est remplacé par “<b>“, “[i]” par “<i>“…
Cependant, nous sommes arrivés au mail… On veut transformer :

[mail]monnom@fai.tld[/mail]

Par

<a href=”–adresse cryptée–“>–adresse cryptée–</a>

Continue reading PHP : Appeller une fonction dans une regex

facebooktwittergoogle_plusredditpinterestlinkedinmail

Un second port mail grâce à iptables

La mode actuelle est de plus en plus bloquer le port 25 (notamment chez les FAI, par exemple, Orange) pour des questions de sécurité et pour essayer de limiter l’envoi de spams. Personnellement, je ne pense pas que ça va changer grand chose, hormis à forcer les clients et utilisateurs d’utiliser d’autres ports…

Le nouveau port “standard” smtp est le port 587. Pour permettre simplement la connexion à notre serveur SMTP des clients Orange par exemple, nous allons utiliser une règle grâce au puissant outil nommé iptables.

Iptables est le firewall de référence sur les systèmes UNIX. Si vous ne connaissez pas iptables, je vous invite à lire le petit article de sécurisation d’un serveur sur alsacréations. Continue reading Un second port mail grâce à iptables

facebooktwittergoogle_plusredditpinterestlinkedinmail