Adresse ip d'un posteur
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
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!
+++
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.
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;
}
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 é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é
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
le 10/02/2007 à 16:18
i M@N
Reuh ...
Houla ... nan.
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.
ah oui, ok, je vais tester c tout ca !
http://raphlight.free.fr/trad.php
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
Ecrire un message
Votre message vient d'être créé avec succès.
BB-Code
Pour insérer une URL clickable
Pour insérer une adresse E-mail
Pour annoter
Pour écrire du code
Pour faire un lien vers une fonction PHP
Pour écrire du texte préformaté
Pour écrire du texte en gras
Pour écrire du texte en italique
Pour écrire du texte souligné
Pour écrire du texte barré
Pour écrire un titre principal
Pour écrire un titre secondaire
Pour écrire une liste
Smiley
:bond:
:boxe:
:bsmile:
:bump:
:clap:
:coeur:
:cool:
:cry:
:eek:
:evil:
:fleur:
:fou2:
:fou:
:grin:
:grrr:
:hammer:
:hippy:
:hum:
:idee2:
:idee:
:kdo:
:king:
:ko:
:lol:
:love2:
:love:
:mad:
:maitre:
:noel:
:oops:
:raa:
:razz:
:roll:
:sad:
:skull:
:smile:
:timide:
:trink:
:vice:
:vomi:
:wink:
:zzz: