30-08-2011, 21:25
Le script ci dessous sert à détecter via votre base de données les utilisateur potentiellement néfastes.
A savoir:
- Les utilisateurs d'adresses temporaires.
- Les utilisateurs ayant rentré un numero ICQ(Pour les bots)
- Les utilisateurs ayant rentré dans leur profil un site web(Pour les bots et autres)
Installation:
- Créer un fichier .php que vous placerez dans votre répertoire de base du forum.
Droits:
- Seul les Admins / Modo peuvent accéder à la page
Autres information:
- Vous pouvez modifier le script, il fait le minimum et sans fioritures...
- Je l'ais réalisé un soir de grande fatigue, je vais surement apporter des modifications quand quelques jours pour l'optimiser... !
Voila le script php:
******************************************************
******************************************************
******************************************************
Dans le but de luter contre le muti-compte abusif, j'ai crée un script qui se base sur l'ip pour les détecter.
L’installation est la même que pour le précédant.
Pour des raisons d'économie de requêtes, la liste est mise à jour toutes les 24h et non à chaque actualisation de la page. (Via du cache php)
J'ai eu des problèmes avec mon hébergeurs a causes du nombres de requêtes et d'utilisation des serveurs mutualisé trop important...
NOUVEAU: Petit script pour surveiller les Mps des utilisateurs...
Note: comme les scripts précédant il vous faudra peut être éditer le nom des préfixe de table si ils sont différent. (mybb_users , mybb_privatemessages)
A savoir:
- Les utilisateurs d'adresses temporaires.
- Les utilisateurs ayant rentré un numero ICQ(Pour les bots)
- Les utilisateurs ayant rentré dans leur profil un site web(Pour les bots et autres)
Installation:
- Créer un fichier .php que vous placerez dans votre répertoire de base du forum.
Droits:
- Seul les Admins / Modo peuvent accéder à la page
Autres information:
- Vous pouvez modifier le script, il fait le minimum et sans fioritures...
- Je l'ais réalisé un soir de grande fatigue, je vais surement apporter des modifications quand quelques jours pour l'optimiser... !
Voila le script php:
Code PHP :
<?php
//********* ************************ *********
//********* Script réalisé par Tlams *********
//********* ************************ *********
echo "EMAIL INCORECTE:<br />";
//connection base
define('IN_MYBB', 1);
require ('global.php');
session_start();
//fin connection BD
$ID = mysql_real_escape_string($mybb->user['uid']);
$sql1 = "SELECT usergroup FROM mybb_users WHERE uid ='$ID'";
$req1 = mysql_query($sql1) or die('Erreur SQL !<br />'.$sql1.'<br />'.mysql_error());
$data1 = mysql_fetch_array($req1);
$groupe = $data1[0];
if ($groupe == "4" OR $groupe == "3" OR $groupe == "6" ){
?>
<table width="200" border="1"><tr><th scope="col">N°</th><th scope="col">N.d'inscription</th><th scope="col">Pseudo</th><th scope="col">email</th></tr>
<?
$nbs = 0;
$sql = 'SELECT * FROM mybb_users WHERE usergroup!="7"';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
while ($data = mysql_fetch_array($req)){
$nbs1 = $nbs++;
$email = $data['email'];
$uid = $data['uid'];
$username = $data['username'];
$arobase = "@";
$email1 = strstr($email,$arobase);
if ($email1 == "@yopmail.com" OR $email1 == "@yopmail.fr" OR $email1 == "@tempomail.fr" ){
?>
<tr><td> <? echo $nbs1; ?> </td><td> <? echo $data['uid']; ?> </td><td> <? echo "<a href='member.php?action=profile&uid=$uid'>$username</a>"; ?> </td><td> <? echo $data['email']; ?> </td></tr>
<?
}}
?>
</table>
<br /><br />
EMAIL Bizare<br />
<table width="200" border="1"><tr><th scope="col">N°</th><th scope="col">N.d'inscription</th><th scope="col">Pseudo</th><th scope="col">email</th></tr>
<?
$nbs = 0;
$sql = 'SELECT * FROM mybb_users WHERE usergroup!="7"';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
while ($data = mysql_fetch_array($req)){
$nbs1 = $nbs++;
$email = $data['email'];
$uid = $data['uid'];
$username = $data['username'];
$arobase = "@";
$email1 = strstr($email,$arobase);
if ($email1 != "@live.com" AND $email1 != "@hotmail.fr" AND $email1 != "@hotmail.com" AND $email1 != "@gmail.com" AND $email1 != "@live.fr" AND $email1 != "@yahoo.com" AND $email1 != "@yahoo.fr" AND $email1 != "@sfr.fr" AND $email1 != "@wanadoo.fr" AND $email1 != "@orange.fr" AND $email1 != "@free.fr" AND $email1 != "@laposte.net" AND $email1 != "@msn.com" AND $email1 != "@voila.fr"){
?>
<tr><td> <? echo $nbs1; ?> </td><td> <? echo $data['uid']; ?> </td><td> <? echo "<a href='member.php?action=profile&uid=$uid'>$username</a>"; ?> </td><td> <? echo $data['email']; ?> </td></tr>
<?
}}
?>
</table>
<br /><br />
EMAIL ICQ/WEB:<br />
<table width="200" border="1"><tr><th scope="col">N°</th><th scope="col">N.d'inscription</th><th scope="col">Pseudo</th><th scope="col">email</th><th scope="col">ICQ</th><th scope="col">WEB</th></tr>
<?
$nbs = 0;
$sql = 'SELECT * FROM mybb_users WHERE (website!="" OR (icq!="0" AND icq!="")) AND usergroup!="7"';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
while ($data = mysql_fetch_array($req)){
$nbs1 = $nbs++;
$email = $data['email'];
$uid = $data['uid'];
$username = $data['username'];
?>
<tr><td> <? echo $nbs1; ?> </td><td> <? echo $data['uid']; ?> </td><td> <? echo "<a href='member.php?action=profile&uid=$uid'>$username</a>"; ?> </td><td> <? echo $data['email']; ?> </td><td> <? echo $data['icq']; ?> </td><td> <? echo $data['website']; ?> </td></tr>
<?
}
mysql_free_result ($req);
mysql_close();
}
?>
</table>
******************************************************
******************************************************
******************************************************
Dans le but de luter contre le muti-compte abusif, j'ai crée un script qui se base sur l'ip pour les détecter.
L’installation est la même que pour le précédant.
Pour des raisons d'économie de requêtes, la liste est mise à jour toutes les 24h et non à chaque actualisation de la page. (Via du cache php)
J'ai eu des problèmes avec mon hébergeurs a causes du nombres de requêtes et d'utilisation des serveurs mutualisé trop important...
Code PHP :
<?php
//********* ************************ *********
//********* Script réalisé par Tlams *********
//********* ************************ *********
//connection BDD
define('IN_MYBB', 1);
require ('global.php');
session_start();
//fin connection BDD
$ipcheacklist = "cache/ipcheacklist.html";
$expire_ipcheacklist = time() -60 ;
if(file_exists($ipcheacklist) && filemtime($ipcheacklist) > $expire_ipcheacklist)
{
readfile($ipcheacklist);
}
else
{
ob_start();
$ID = mysql_real_escape_string($mybb->user['uid']);
$sql1 = "SELECT usergroup FROM mybb_users WHERE uid ='$ID'"; //Corriger le préfixe de table si besoin
$req1 = mysql_query($sql1) or die('Erreur SQL !<br />'.$sql1.'<br />'.mysql_error());
$data1 = mysql_fetch_array($req1);
$groupe = $data1[0];
if ($groupe == "4" OR $groupe == "3" OR $groupe == "6" ){ //Corriger numero groupe si besoin(Admin/modo/supermodo)
?>
<table width="800" border="1">
<tr>
<th scope="col">N°</th>
<th scope="col">N.d'inscription</th>
<th scope="col">Pseudo </th>
<th scope="col">IP</th>
</tr>
<?
$nbs = 0;
$sql = 'SELECT lastip,count( * ),username,uid FROM mybb_users GROUP BY lastip HAVING count( * ) >1 ORDER BY `lastip` ASC'; //Corriger le préfixe de table si besoin
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
while ($data = mysql_fetch_array($req)){
$ip = $data['lastip'];
$sql1 = "SELECT username,uid,lastip,usergroup FROM mybb_users WHERE lastip = '$ip' ORDER BY `lastip` ASC "; //Corriger le préfixe de table si besoin
$req1 = mysql_query($sql1) or die('Erreur SQL !<br />'.$sql1.'<br />'.mysql_error());
while ($data1 = mysql_fetch_array($req1)){
$nbs1 = $nbs++;
$username = $data1['username'];
$uid = $data1['uid'];
$usergroup = $data1['usergroup'];
?>
<tr>
<td> <? echo $nbs1; ?> </td>
<td> <? echo $data1['uid']; ?> </td>
<td> <? echo "<a href='member.php?action=profile&uid=$uid'>$username</a>"; if ($usergroup == 7) { echo " <b> Banni </b>"; } ?> </td>
<td> <? echo $data1['lastip']; ?> </td>
</tr>
<?
}
mysql_free_result ($req1);
}
mysql_free_result ($req);
mysql_close();
}
?>
</table>
<?
$ipcheackpage = ob_get_contents();
ob_end_clean();
file_put_contents($ipcheacklist, $ipcheackpage) ;
echo $ipcheackpage ;
}
?>NOUVEAU: Petit script pour surveiller les Mps des utilisateurs...
Note: comme les scripts précédant il vous faudra peut être éditer le nom des préfixe de table si ils sont différent. (mybb_users , mybb_privatemessages)
Code PHP :
<?php
//********* ************************ *********
//********* Script réalisé par Tlams *********
//********* ************************ *********
//connection base
define('IN_MYBB', 1);
require ('global.php');
session_start();
//fin connection BD
$ID = mysql_real_escape_string($mybb->user['uid']);
$sql1 = "SELECT usergroup FROM mybb_users WHERE uid ='$ID'";
$req1 = mysql_query($sql1) or die('Erreur SQL !<br />'.$sql1.'<br />'.mysql_error());
$data1 = mysql_fetch_array($req1);
$groupe = $data1[0];
if ($groupe == "4"){
?>
<table width="200" border="1"><tr><th scope="col">De</th><th scope="col">A</th><th scope="col">titre</th><th scope="col">Message</th></tr>
<?
$nbs = 0;
$sql = 'SELECT toid,fromid,subject,message FROM mybb_privatemessages WHERE RIGHT(pmid,1) %2 = 1 ORDER BY pmid DESC LIMIT 500';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
while ($data = mysql_fetch_array($req)){
$toid = $data['toid'];
$fromid = $data['fromid'];
$subject = $data['subject'];
$message = $data['message'];
?>
<tr>
<td> <? echo "<a href='member.php?action=profile&uid=$fromid'>$fromid</a>"; ?> </td>
<td> <? echo "<a href='member.php?action=profile&uid=$toid'>$toid</a>"; ?> </td>
<td> <? echo $subject; ?> </td>
<td> <? echo $message; ?> </td>
</tr>
<?
}
mysql_free_result ($req);
mysql_close();
}
?>
</table>

