Bonjour,
Suite à
ce sujet, je ressors un autre script créé il y a quelques temps.
J'ai parfois besoin de retrouver qui a utilisé une certaine IP sur le forum.
Ca permet par exemple de retrouver facilement les membres se cachant derrière plusieurs pseudo (bien entendu les résultats sont à interpréter, mais en cas de doute sur quelqu'un, ça permet de confirmer).
Sur la page de ce script, je saisis une ip et je valide simplement.
Je vois alors s'afficher, quel(s) membre(s) a (ont) déjà utilisé(s) cette ip, ainsi que la (les) page(s) sur l(es)aquelle(s), les messages correspondants ont été postés.
Ci-joint, 2 captures :
Une montrant le formulaire de saisie.
Et l'autre, la page de résultat, avec les pseudos ayant utilisés cette ip, et un lien vers la page du forum où se trouve le message lié à cette ip.
Je créé un dossier
ipforum à la racine du site, je place dedans un fichier
cherche.php contenant le code suivant :
<?php
//placer ce fichier dans un dossier à la racine du site
//ou alors changer le chemin vers mainfile.php
include '../mainfile.php';
include XOOPS_ROOT_PATH.'/header.php';
include XOOPS_ROOT_PATH."/include/cp_functions.php";
global $xoopsDB, $xoopsConfig;
if (is_object($xoopsUser)){
$groupsok = $xoopsUser->getGroups();
}
else {$groupsok=99; }
if (!in_array("1", $groupsok)) //si dans le groupe "webmestre" - je peux choisir un autre ID de groupe
{
redirect_header("../index.php",2, "Vous n'avez pas les droits nécessaires pour accéder à cette page.");
exit();
}
if (!empty($_POST['envoi']))
{
$posterip = $_POST['posterip'];
if ($posterip != 0)
{
$sql = "select * from `".$xoopsDB->prefix("bbex_posts")."` where `poster_ip` LIKE CONVERT( _utf8 '".$posterip."' USING latin1 ) COLLATE latin1_swedish_ci ORDER BY `".$xoopsDB->prefix("bbex_posts")."`.`post_time` ASC;";
$result = $xoopsDB->query($sql);
if (mysql_num_rows($result) == 0) {$message_remerciement = "Aucune adresse IP ne correspond à celle saisie.";}
else {$message_remerciement = "Adresse IP cherchée : ".$posterip."<br /><br />";}
while($data = mysql_fetch_assoc($result))
{
$message_remerciement .= "Utilisée par <a href="".XOOPS_URL."/userinfo.php?uid=".$data['uid']."" target="_blank">".XoopsUser::getUnameFromId($data['uid'])."</a> sur <a href="".XOOPS_URL."/modules/newbbex/viewtopic.php?viewmode=flat&topic_id=".$data['topic_id']."&forum=".$data['forum_id']."" target="_blank">cette page</a> (".date('d/m/Y à H:i:s', $data['post_time']).")<br />";
}//fin while
if (mysql_num_rows($result) == 0) {$message_remerciement .= "";}
}//fin si
else {$message_remerciement = "Vous devez entrer une adresse IP.";}
}
?>
<html>
<head>
<title>Cherche IP forum</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript">
function verifSelection() {if (mail_form.uid.value == "") {
alert("Merci de rentrer l'IP à rechercher")
return false
} } // Fin de la fonction
</script>
</head>
<body>
<u><a href="<?=$_SERVER['PHP_SELF']?>">Chercher une autre ip</a></u> <u><a href="<?php XOOPS_ROOT_PATH ?>/index.php">Retour sur le site</a></u><br /><br />
<form name="mail_form" method="post" action="<?=$_SERVER['PHP_SELF']?>" onSubmit="return verifSelection()">
<?php
if ($message_remerciement) {
echo("<font face=Verdana size=2>");
echo(stripslashes($message_remerciement));
include XOOPS_ROOT_PATH.'/footer.php';
echo("</p></body></html>");
exit();
}
?>
<table border="0" align="left">
<tr>
<td>
<font face="Verdana" size="2">Adresse IP </font><input name="posterip" type="text">
<input name="titre_uid" type="hidden" value="Identifiant">
<input type="reset" name="Reset" value="Vider la cellule">
<input type="submit" name="envoi" value="Envoyer">
</td>
</tr>
</table>
</form>
<?php
include XOOPS_ROOT_PATH.'/footer.php';
?>
</body>
</html>
Vous pouvez choisir le nom du dossier et du fichier php.
Et changer le dossier de place, à condition de changer aussi le chemin vers le fichier mainfile.php au début du fichier