Outil de supression de spam integré à phpbb

Soyez le premier à donner votre avis sur cette source.

Snippet vu 9 046 fois - Téléchargée 26 fois


Contenu du snippet

Cet outil prend l'id d'un post en paramètre ( POST ) et ajoute le posteur dans la banlist, désactive son compte et supprime le message.
Pratique pour du Spam.
Ce code est complètement intégrable à PhpBB, il est donc capable d'utiliser toutes les sources de données gérées par ce dernier.

Source / Exemple :


<?php
//////////////////////////////////////////////////////
//
// RemoveSpam By Thomas K ( http://iow4.net ) 
//
/////////////////////////////////////////////////////

define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path.'extension.inc');

//================================================
//  1er Vérification du parametre contenant l'id du post
//================================================

if (empty($_POST['post_id']))
{
	exit('Erreur : Parametre post_id requis');
}

//===================================================
//  2eme Vérification du parametre contenant l'id du post
//===================================================

include($phpbb_root_path.'config.'.$phpEx);
include($phpbb_root_path.'includes/db.'.$phpEx);
include($phpbb_root_path.'includes/constants.'.$phpEx);

if (!($topic_info = $db->sql_fetchrow($db->sql_query('SELECT * FROM '.$table_prefix.'posts WHERE post_id=\''.$_POST['post_id'].'\''))))
{
	exit('Erreur : Parametre post_id errone'); 
}

//====================================================
// On met l'user qui a posté dans la liste de bannis 
//====================================================

if (!$db->sql_query('INSERT INTO '.$table_prefix."banlist VALUES('','".$topic_info['poster_id']."','".$topic_info['poster_ip']."','') "))
{
	exit('Erreur : Insertion de l\'utilisateur dans la banlist impossible');
}

//==========================
// On desactive son compte 
//==========================

if (!$db->sql_query('UPDATE '.$table_prefix.'users SET user_active=\'0\' WHERE user_id=\''.$topic_info['poster_id'].'\''))
{
	exit('Erreur : Desactivation du compte spammeur impossible');
}

//=================================
// On suprime le message SPAM
//=================================

if (!($db->sql_query('DELETE FROM '.$table_prefix.'posts WHERE post_id=\''.$_POST['post_id'].'\'')) OR !($db->sql_query('DELETE FROM '.$table_prefix."posts_text WHERE post_id='".$_POST['post_id']."'")))
{
	exit('Erreur : Supression du message SPAM impossible');
}

//=================================
// redirection 
//=================================

header("location:$phpbb_root_path");
?>

Conclusion :


Mettez ce script à la racine de votre Phpbb et ajouté un bouton sur les templates qui transmet en POST dans un champ caché le champ post_id qui est l'id du post à supprimer.
J'attend vos commentaires, vos propositions d'optimisation, vos critiques

A voir également

Ajouter un commentaire

Commentaires

marek_wit
Messages postés
14
Date d'inscription
dimanche 7 août 2005
Statut
Membre
Dernière intervention
23 mars 2009

Bonne soir!

Esque il existe des codes html, que je puisse écrire une news et ensuit, avoir une fonction admin, pour efface le news ..

Mais, sans passer par la base SQL ... Merci 1000 fois!!!! c pour l'ecole ...
iow4
Messages postés
303
Date d'inscription
samedi 22 octobre 2005
Statut
Membre
Dernière intervention
2 novembre 2008
4
De toute façon je voie pas l'avantage d'utiliser $HTTP_POST_VARS meme si phpbb fait un traitement dessus ( je crois que phpbb fait ses propres magic quote dessus )
JulioDelphi
Messages postés
2226
Date d'inscription
dimanche 5 octobre 2003
Statut
Modérateur
Dernière intervention
18 novembre 2010
13
moi je dis souvent "si ça ne fonctionne pas, la faute est a celui qui n'est pas a jour"
pas de debat =)
kankrelune
Messages postés
1293
Date d'inscription
mardi 9 novembre 2004
Statut
Membre
Dernière intervention
21 mai 2015

Parce que ça existe encore un serveur qui tourne sous php 3... lol... j'en doute... sachant que les tableaux super globaux $_* ont étés introduit dans la version 4.1.0 et que la version minimum de php requise par phpbb est php 4.0.3... c'est un choix stratégique que je ne remet pas en cause mais que je ne trouve pas justifié... après c'est la même chose pour beaucoups de gros script... on a eu la même prise de tête avec xoops et on l'a encore... .. .

@ tchaOo°
Oyodarkenshin
Messages postés
8
Date d'inscription
mercredi 25 juin 2003
Statut
Membre
Dernière intervention
14 novembre 2006

hum c'est pour garder une rétrocompatibilité avec php 4 et < ;)

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.