Adresse ip d'un posteur

Répondre
raphlight
le 09/02/2007 à 22:22
raphlight
Voilà, dans mon livre d'or, certaines personnes mettent de la pub pour des sites X et des insultes, j'aimerais pouvoir récupérer les adresses ip de ces posteurs.
Une fois que je les aurais, je sais comment les bloquer.

Y aurait-il un code à insérer pour récupérer l'adresse ip de chaque personne qui poste un message ?

merci d'avance
http://raphlight.free.fr/trad.php
maxroucool
le 09/02/2007 à 23:50
maxroucool
Slt,

ben ceci te permet de recuperer l'adresse ip de l'utillisateur: $_SERVER['REMOTE_ADDR']

il te suffit plus que de la stocker dans ta bdd!

+++
i M@N
le 10/02/2007 à 09:46
i M@N
Hello !

Regarde le code de mon GUESTBOOK et en particulier celui du fichier message_traitement.php tu y verras ceci :
<?php
/*on teste la variable $texte*/
if(((stristr($texte, '<a')) || (stristr($texte, 'href'))) === FALSE) {
/*on traite le message normalement
conection bdd, insertion des données, etc ...*/
}
else {
redirection('http://www.dans-ton-cul-spammer.net');
}
?>


Tous les messages contenant une balise <a ou href sont refusés et redirigés vers une page bidon ... mouhahaha !!

Sinon pour garder une trace des accès à ta page dans un fichier visiteurs.txt tu fais ça :
<?php
/*on ouvre visiteurs texte en écriture*/

$fp = fopen("./visiteurs.txt", "a+");

/*on y ajoute la date et l'ip*/
fputs($fp, date("Y/m/d H:i")." #".$_SERVER['REMOTE_ADDR'];

/*on ferme visiteurs.txt*/
fclose($fp);
?>


@+...
One Love, One Heart, One Unity.
jocker
le 10/02/2007 à 10:34
jocker
voilà une petite fonction bien pratique pour pour récupérer l'IP des poster de façon un peu plus précise. Ca pourrait en aider certain

function get_remote_address()
{
$remote_address = $_SERVER['REMOTE_ADDR'];

// If HTTP_X_FORWARDED_FOR is set, we try to grab the first non-LAN IP
if (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
{
if (preg_match_all('/[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}/', $_SERVER['HTTP_X_FORWARDED_FOR'], $address_list))
{
$lan_ips = array('/^0\./', '/^127\.0\.0\.1/', '/^192\.168\..*/', '/^172\.((1[6-9])|(2[0-9])|(3[0-1]))\..*/', '/^10\..*/', '/^224\..*/', '/^240\..*/');
$address_list = preg_replace($lan_ips, null, $address_list[0]);

while (list(, $cur_address) = each($address_list))
{
if ($cur_address)
{
$remote_address = $cur_address;
break;
}
}
}
}
return $remote_address;
}
raphlight
le 10/02/2007 à 15:47
raphlight
merci beaucoup à vous !

Et i man ,j'avais pas pensé à ca, c'est cool !
Mais comment je fais alors ?

Le fichier que j'utilise et qui correspond au traitement est celui-ci :

<?
//Ouverture du fichier en &eacute;criture
$fp = fopen("guestbook2.php",a);

//On convertit les caracteres html
$nom = htmlspecialchars($_POST['nom']);
$message = stripslashes(nl2br(htmlentities($_POST['message'])));
$d = date ( "d/m/Y H:i:s" );

$page = "";
$page .= "<b>$nom</b> - $d<br>$message<br><hr>n";

//On rajoute le message
fwrite($fp,"$page" ,strlen("$page"));

//fermeture du fichier
fclose($fp);

//On affiche le message enregistr&eacute;
echo "Merci $nom, votre message a été posté. <br>";
?>
<br><a href="index.html">Retour à la page principale du site</a>



Donc, il faut que j'insère ca :

/*on teste la variable $texte*/
if(((stristr($texte, '<a')) || (stristr($texte, 'href'))) === FALSE) {
/*on traite le message normalement
conection bdd, insertion des données, etc ...*/
}
else {
redirection('http://www.dans-ton-cul-spammer.net');
}


nimporte ou dans mon fichier ?
http://raphlight.free.fr/trad.php
i M@N
le 10/02/2007 à 16:18
i M@N
Reuh ...

Houla ... nan. smiley

ce qui est entre /* et */ c'est du commentaire, à toi d'adapter le truc aussi ...

ça doit donner un truc style :
<?php
/*on teste la variable $message*/
if(((stristr($message, '<a')) || (stristr($message, 'href'))) === FALSE) {
/*on traite le message normalement*/
/*Ouverture du fichier en écriture*/
$fp = fopen("guestbook2.php",a);
/*On convertit les caracteres html*/
$nom = htmlspecialchars($_POST['nom']);
$message = stripslashes(nl2br(htmlentities($_POST['message'])));
$d = date ( "d/m/Y H:i:s" );
$page = "";
$page .= "<b>$nom</b> - $d<br>$message<br><hr>n";
/*On rajoute le message*/
fwrite($fp,"$page" ,strlen("$page"));
/*fermeture du fichier*/
fclose($fp);
/*On affiche le message*/
echo "Merci $nom, votre message a été posté. <br>";
}
/*sinon on envoie le posteur se faire f****e* ... mouhahaha*/
else {
echo "saloperie de bot spammer !";
}
?>


@+...
One Love, One Heart, One Unity.
raphlight
le 10/02/2007 à 21:57
raphlight
ca a marché !
Waw, trop fort, merci beaucoup i m@n !

Depuis que je poste sur le phpfaile j'ai toutes les réponses à mes problèmes, c'est cool, attendez vous à avoir pleins de problèmes venant de ma part ^^
http://raphlight.free.fr/trad.php
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours