coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 2012
-
7 nov. 2006 à 13:05
marek_wit
Messages postés14Date d'inscriptiondimanche 7 août 2005StatutMembreDernière intervention23 mars 2009
-
23 mars 2009 à 23:35
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
marek_wit
Messages postés14Date d'inscriptiondimanche 7 août 2005StatutMembreDernière intervention23 mars 2009 23 mars 2009 à 23:35
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és302Date d'inscriptionsamedi 22 octobre 2005StatutMembreDernière intervention 2 novembre 20084 22 nov. 2006 à 17:29
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és2226Date d'inscriptiondimanche 5 octobre 2003StatutMembreDernière intervention18 novembre 201014 15 nov. 2006 à 11: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és1293Date d'inscriptionmardi 9 novembre 2004StatutMembreDernière intervention21 mai 2015 15 nov. 2006 à 10:31
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és8Date d'inscriptionmercredi 25 juin 2003StatutMembreDernière intervention14 novembre 2006 14 nov. 2006 à 19:09
hum c'est pour garder une rétrocompatibilité avec php 4 et < ;)
kankrelune
Messages postés1293Date d'inscriptionmardi 9 novembre 2004StatutMembreDernière intervention21 mai 2015 13 nov. 2006 à 18:47
Oui j'imagine... mais à ce moment là autant utiliser directement $_POST... le traitement fait dans common.php est là pour palier aux mauvaises habitudes de codage en attendant la réécriture du core... c'est pareil pour beaucoups de CMS comptant plusieurs milliers de lignes de code... mais ça ne dispense pas d'utiliser $_POST... .. . ;o)
@ tchaOo°
Oyodarkenshin
Messages postés8Date d'inscriptionmercredi 25 juin 2003StatutMembreDernière intervention14 novembre 2006 13 nov. 2006 à 18:29
Oui mais non, enfaite phpBB utilise $HTTP_*_VARS car il font en traitement dessus dans common.php.
De plus, au début il déclare que
$HTTP_*_VARS = $_*;
Voila ;)
kankrelune
Messages postés1293Date d'inscriptionmardi 9 novembre 2004StatutMembreDernière intervention21 mai 2015 13 nov. 2006 à 12:57
Inutile de parler du niveau de cette source d'autres l'ont déja fait... cependant moi un truc qui me fait bondir c'est quand je vois...
"phpBB utlise $HTTP_POST_VARS et non $_POST"
Inutile (peut être pas) de rappeler que $HTTP_POST_VARS est déprécié et qu'il faut utiliser $_POST... y en a qui vont faire la gueule quand php6 va sortir... .. .
@ tchaOo°
JulioDelphi
Messages postés2226Date d'inscriptiondimanche 5 octobre 2003StatutMembreDernière intervention18 novembre 201014 8 nov. 2006 à 14:53
iow4 : comme le signale coucou, merci de faire baisser le niveau de la source vers "debutant" plutot que "expert"
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 8 nov. 2006 à 14:41
pour détecter les spams, insumltes, floood, [...] automatiquement.
Oyodarkenshin
Messages postés8Date d'inscriptionmercredi 25 juin 2003StatutMembreDernière intervention14 novembre 2006 7 nov. 2006 à 23:05
Non normalement le 2eme code donnée est au normes ;)
tu peux simplement ne pas inclure page_header et page_tail ;)
iow4
Messages postés302Date d'inscriptionsamedi 22 octobre 2005StatutMembreDernière intervention 2 novembre 20084 7 nov. 2006 à 22:36
Ok je vais modifier mon code alors :
- Changement de $_POST en $HTTP_POST_VARS
- Utilisation de constantes pour le nom des tables
Pour ceux qui est de l'affichage graphique de phpbb ce n'est pas le but de la source donc une simple redirection suffira
as tu d'autres suggestions ??
merci
Oyodarkenshin
Messages postés8Date d'inscriptionmercredi 25 juin 2003StatutMembreDernière intervention14 novembre 2006 7 nov. 2006 à 20:32
oui et non, mais c'est la base de fonctionnement de phpBB.
Sachant pas la même occa's (si je peux me permettre) que c'est dans ce fichier qu'il traite toutes les super globals.
Mais bon après à toi de voir mais dans ce cas ne dit pas que "Ce code est complètement intégrable à phpBB" puisqu'il n'utilise pas les normes de phpBB ;)
iow4
Messages postés302Date d'inscriptionsamedi 22 octobre 2005StatutMembreDernière intervention 2 novembre 20084 7 nov. 2006 à 19:53
Le fichier common.php n'est pas très legé, autant s'en passer
non ?
Oyodarkenshin
Messages postés8Date d'inscriptionmercredi 25 juin 2003StatutMembreDernière intervention14 novembre 2006 7 nov. 2006 à 18:58
Quand je dis "bouh !" il ne faut pas le prendre mal ;)
Arf oups! je me suis planté dans le code voila le bon code, forcement j'utilisais pas les constantes défini dans le fichier constants.php inclus dans le fichier common.php (tout comme config.php, includes/db.php)
<?php
//////////////////////////////////////////////////////
//
// RemoveSpam By Thomas K ( http://iow4.net )
//
/////////////////////////////////////////////////////
//================================================
// 1er Vérification du parametre contenant l'id du post
//================================================
if (empty($HTTP_POST_VARS['post_id']))
{
message_die(GENERAL_ERROR, 'Erreur : Parametre post_id requis');
}
//===================================================
// 2eme Vérification du parametre contenant l'id du post
//if (!($topic_info $db->sql_fetchrow($db->sql_query('SELECT * FROM '.POSTS_TABLE.' WHERE post_id=\''.$_POST['post_id'].'\''))))
{
message_die(GENERAL_ERROR, 'Erreur : Parametre post_id errone');
}
//====================================================
// On met l'user qui a posté dans la liste de bannis
//====================================================
if (!$db->sql_query('INSERT INTO '.BANLIST_TABLE." VALUES('','".$topic_info['poster_id']."','".$topic_info['poster_ip']."','') "))
{
message_die(GENERAL_ERROR, 'Erreur : Insertion de l\'utilisateur dans la banlist impossible');
}
//==========================
// On desactive son compte
//==========================
if (!$db->sql_query('UPDATE '.USERS_TABLE.' SET user_active=\'0\' WHERE user_id=\''.$topic_info['poster_id'].'\''))
{
message_die(GENERAL_ERROR, 'Erreur : Desactivation du compte spammeur impossible');
}
//=================================
// On suprime le message SPAM
//=================================
if (!($db->sql_query('DELETE FROM '.POSTS_TABLE.' WHERE post_id=\''.$_POST['post_id'].'\'')) OR !($db->sql_query('DELETE FROM '.$table_prefix."posts_text WHERE post_id='".$_POST['post_id']."'")))
{
message_die(GENERAL_ERROR, 'Erreur : Supression du message SPAM impossible');
}
Oyodarkenshin
Messages postés8Date d'inscriptionmercredi 25 juin 2003StatutMembreDernière intervention14 novembre 2006 7 nov. 2006 à 18:53
header("location:$phpbb_root_path"); -> bouh !
$_POST -> pas standard en phpBB
phpBB a créé une fonction redirect($url);
phpBB utlise $HTTP_POST_VARS et non $_POST
Il n'est pas totalement intégré à phpBB voila quelque chose d'intégré:
<?php
//////////////////////////////////////////////////////
//
// RemoveSpam By Thomas K ( http://iow4.net )
//
/////////////////////////////////////////////////////
//================================================
// 1er Vérification du parametre contenant l'id du post
//================================================
if (empty($HTTP_POST_VARS['post_id']))
{
message_die(GENERAL_ERROR, 'Erreur : Parametre post_id requis');
}
//===================================================
// 2eme Vérification du parametre contenant l'id du post
//if (!($topic_info $db->sql_fetchrow($db->sql_query('SELECT * FROM '.$table_prefix.'posts WHERE post_id=\''.$_POST['post_id'].'\''))))
{
message_die(GENERAL_ERROR, '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']."','') "))
{
message_die(GENERAL_ERROR, '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'].'\''))
{
message_die(GENERAL_ERROR, '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']."'")))
{
message_die(GENERAL_ERROR, 'Erreur : Supression du message SPAM impossible');
}
iow4
Messages postés302Date d'inscriptionsamedi 22 octobre 2005StatutMembreDernière intervention 2 novembre 20084 7 nov. 2006 à 17:49
rou non ! Ca suprime le message, ajoute le posteur à la banlist et desactive le compte du posteur !
En plus c'est un exemple d'intégration de script à Phpbb car j'implemente leur classe d'exploitation de SGBD ( donc compatible avec toutes les bdd reconnut par Phpbb ) j'utilise aussi leur systeme de nom de fichier variable.
J'ai codé ce script car je trouve ça utile de pouvoir faire 3 action en cliquant sur un bouton quand le spam à reussie à s'infiltrer sur le forum
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 7 nov. 2006 à 13:05
?? et ?? en quoi c'est un truc expert ? t'as juste fait un code qui supprime un message...
23 mars 2009 à 23:35
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 ...
22 nov. 2006 à 17:29
15 nov. 2006 à 11:13
pas de debat =)
15 nov. 2006 à 10:31
@ tchaOo°
14 nov. 2006 à 19:09
13 nov. 2006 à 18:47
@ tchaOo°
13 nov. 2006 à 18:29
De plus, au début il déclare que
$HTTP_*_VARS = $_*;
Voila ;)
13 nov. 2006 à 12:57
"phpBB utlise $HTTP_POST_VARS et non $_POST"
Inutile (peut être pas) de rappeler que $HTTP_POST_VARS est déprécié et qu'il faut utiliser $_POST... y en a qui vont faire la gueule quand php6 va sortir... .. .
@ tchaOo°
8 nov. 2006 à 14:53
8 nov. 2006 à 14:41
cf http://fr.wikipedia.org/wiki/Inf%C3%A9rence_bay%C3%A9sienne
pour détecter les spams, insumltes, floood, [...] automatiquement.
7 nov. 2006 à 23:05
tu peux simplement ne pas inclure page_header et page_tail ;)
7 nov. 2006 à 22:36
- Changement de $_POST en $HTTP_POST_VARS
- Utilisation de constantes pour le nom des tables
Pour ceux qui est de l'affichage graphique de phpbb ce n'est pas le but de la source donc une simple redirection suffira
as tu d'autres suggestions ??
merci
7 nov. 2006 à 20:32
Sachant pas la même occa's (si je peux me permettre) que c'est dans ce fichier qu'il traite toutes les super globals.
Mais bon après à toi de voir mais dans ce cas ne dit pas que "Ce code est complètement intégrable à phpBB" puisqu'il n'utilise pas les normes de phpBB ;)
7 nov. 2006 à 19:53
non ?
7 nov. 2006 à 18:58
Arf oups! je me suis planté dans le code voila le bon code, forcement j'utilisais pas les constantes défini dans le fichier constants.php inclus dans le fichier common.php (tout comme config.php, includes/db.php)
<?php
//////////////////////////////////////////////////////
//
// RemoveSpam By Thomas K ( http://iow4.net )
//
/////////////////////////////////////////////////////
define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
// Start session management
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
// End session management
//================================================
// 1er Vérification du parametre contenant l'id du post
//================================================
if (empty($HTTP_POST_VARS['post_id']))
{
message_die(GENERAL_ERROR, 'Erreur : Parametre post_id requis');
}
//===================================================
// 2eme Vérification du parametre contenant l'id du post
//if (!($topic_info $db->sql_fetchrow($db->sql_query('SELECT * FROM '.POSTS_TABLE.' WHERE post_id=\''.$_POST['post_id'].'\''))))
{
message_die(GENERAL_ERROR, 'Erreur : Parametre post_id errone');
}
//====================================================
// On met l'user qui a posté dans la liste de bannis
//====================================================
if (!$db->sql_query('INSERT INTO '.BANLIST_TABLE." VALUES('','".$topic_info['poster_id']."','".$topic_info['poster_ip']."','') "))
{
message_die(GENERAL_ERROR, 'Erreur : Insertion de l\'utilisateur dans la banlist impossible');
}
//==========================
// On desactive son compte
//==========================
if (!$db->sql_query('UPDATE '.USERS_TABLE.' SET user_active=\'0\' WHERE user_id=\''.$topic_info['poster_id'].'\''))
{
message_die(GENERAL_ERROR, 'Erreur : Desactivation du compte spammeur impossible');
}
//=================================
// On suprime le message SPAM
//=================================
if (!($db->sql_query('DELETE FROM '.POSTS_TABLE.' WHERE post_id=\''.$_POST['post_id'].'\'')) OR !($db->sql_query('DELETE FROM '.$table_prefix."posts_text WHERE post_id='".$_POST['post_id']."'")))
{
message_die(GENERAL_ERROR, 'Erreur : Supression du message SPAM impossible');
}
//=================================
// redirection
//=================================
redirect(append_sid('index.'.$phpEx, true));
// Start output of page
$page_title = 'Outil de suppression de SPAM ~ PphpBB';
include($phpbb_root_path . 'includes/page_header.'.$phpEx);
include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
?>
7 nov. 2006 à 18:53
$_POST -> pas standard en phpBB
phpBB a créé une fonction redirect($url);
phpBB utlise $HTTP_POST_VARS et non $_POST
Il n'est pas totalement intégré à phpBB voila quelque chose d'intégré:
<?php
//////////////////////////////////////////////////////
//
// RemoveSpam By Thomas K ( http://iow4.net )
//
/////////////////////////////////////////////////////
define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
// Start session management
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
// End session management
//================================================
// 1er Vérification du parametre contenant l'id du post
//================================================
if (empty($HTTP_POST_VARS['post_id']))
{
message_die(GENERAL_ERROR, 'Erreur : Parametre post_id requis');
}
//===================================================
// 2eme Vérification du parametre contenant l'id du post
//if (!($topic_info $db->sql_fetchrow($db->sql_query('SELECT * FROM '.$table_prefix.'posts WHERE post_id=\''.$_POST['post_id'].'\''))))
{
message_die(GENERAL_ERROR, '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']."','') "))
{
message_die(GENERAL_ERROR, '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'].'\''))
{
message_die(GENERAL_ERROR, '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']."'")))
{
message_die(GENERAL_ERROR, 'Erreur : Supression du message SPAM impossible');
}
//=================================
// redirection
//=================================
redirect(append_sid('index.'.$phpEx, true));
// Start output of page
$page_title = 'Outil de suppression de SPAM ~ PphpBB';
include($phpbb_root_path . 'includes/page_header.'.$phpEx);
include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
?>
7 nov. 2006 à 17:49
En plus c'est un exemple d'intégration de script à Phpbb car j'implemente leur classe d'exploitation de SGBD ( donc compatible avec toutes les bdd reconnut par Phpbb ) j'utilise aussi leur systeme de nom de fichier variable.
J'ai codé ce script car je trouve ça utile de pouvoir faire 3 action en cliquant sur un bouton quand le spam à reussie à s'infiltrer sur le forum
7 nov. 2006 à 13:05