NART CONCEPT
11, rue du Hohneck
68100 Mulhouse, Alsace
tel : 09 52 88 30 04 http://www.nartconcept.fr

twitter cet article ! Joomla contact et adresse IP

Joomla contact Par défaut, dans les courriers envoyés depuis votre site Joomla, nous avons seulement le nom, l'adresse e-mail et bien sûr le texte du message. Il arrive parfois qu'on a besoin de plus, comme par exemple connaitre l'adresse IP de l'expéditeur, chose impossible avec le composant de contact inclus par défaut dans le pack Joomla.

Mais rien n'est impossible, avec une petite modification du code, on aura non seulement le nom, l'adresse e-mail mais aussi l'adresse IP de l'auteur du message.

note : Avant toutes modifications du code, faites une sauvegarde !!!

Supposons que vous avez fait le nécessaire, c'est-à-dire le backup de fichier components/com_contact/contact.php et donc passons au choses sérieuses.

1. Ouvrez le fichier ../contact.php et trouver le code

$text   = $prefix ."\n". $name. ' <'. $email .'>' ."\n\n". stripslashes( $text );

et remplacer le avec ce code :

$text   = $prefix ."\n". $name. ' <'. $email .'>' . "\nIP: ". getenv( 'REMOTE_ADDR' ) ."\n\n". stripslashes( $text );

Après cette modification, dans la lettre envoyée depuis votre site, vous verrez non seulement le nom et le mail de l'expéditeur mais aussi son adresse IP.

Mais, il y a toujours un mais, si par exemple la personne coche la case "recevoir une copie de mail", il verra dans la copie reçue que son adresse IP a été enregistrée. Si vous ne voulez pas informer vos visiteurs que vous enregistrez ces adresses IP faudra faire encore une petite modification du code.

2. Ouvrez le fichier ../contact.php et trouver le code

$copy_text = $copy_text ."\n\n". $text .'';

et remplacer le avec ce code :

$text   = $prefix ."\n". $name. ' <'. $email .'>' ."\n\n". stripslashes( $text );
$copy_text = $copy_text ."\n\n". $text .'';

Voila, maintenant l'adresse IP enregistrée ne sera plus incluse dans la copie de mail envoyée à l'expéditeur...

A priori, c'est suffisant, mais on peut encore modifier ce code, pour le cas où le visiteur passerait pas un serveur proxy. Pour ce faire, modifiez la première partie du code (la deuxième partie restera inchangée)

1. Ouvrez le fichier ../contact.php et trouver le code :

$text   = $prefix ."\n". $name. ' <'. $email .'>' ."\n\n". stripslashes( $text );

et remplacer le avec ce code :

 $ip = "";
$proxy = "";
if (isset($_SERVER)) {
if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])) {
$ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
$proxy = $_SERVER["REMOTE_ADDR"];
} elseif (isset($_SERVER["HTTP_CLIENT_IP"])) {
$ip = $_SERVER["HTTP_CLIENT_IP"];
} else {
$ip = $_SERVER["REMOTE_ADDR"];
}
} else {
if ( getenv( 'HTTP_X_FORWARDED_FOR' ) ) {
$ip = getenv( 'HTTP_X_FORWARDED_FOR');
$proxy = $_SERVER["REMOTE_ADDR"];
} elseif ( getenv( 'HTTP_CLIENT_IP' ) ) {
$ip = getenv( 'HTTP_CLIENT_IP' );
} else {
$ip = getenv( 'REMOTE_ADDR' );
}
}
if (strstr($ip, ',')) {
$ips = explode(',', $ip);
$ip = $ips[0];
}
if ($proxy != '') {
$ip = $ip . '(Proxy: '.$proxy.')';
}    
 
$text   = $prefix ."\n". $name. ' <'. $email .'>' . "\nIP: ". $ip ."\n\n". stripslashes( $text );

Voila, c'est tout.


 
Joomla spécialiste nart concept : agence de communication, spécialisée en développement de sites internet professionnels joomla, création de template joomla sur mesure, référencement et SEO optimisation de Joomla