Skip to content
Extraits de code Groupes Projets
Valider 6500b2ee rédigé par Fil's avatar Fil
Parcourir les fichiers

antispam de forum (sur une idée de togg)

pour tester remplacer
	display:none;
par 
	display:block;

ou, en utilisant lynx, remplir le dernier champ du formulaire
parent d5222f92
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -196,6 +196,7 @@ $ajouter_mot, $ajouter_groupe, $afficher_texte, $url_param_retour) ...@@ -196,6 +196,7 @@ $ajouter_mot, $ajouter_groupe, $afficher_texte, $url_param_retour)
'url_site' => ($url_site ? $url_site : "http://"), 'url_site' => ($url_site ? $url_site : "http://"),
'alea' => $alea, 'alea' => $alea,
'hash' => $hash, 'hash' => $hash,
'nobot' => _request('nobot'),
'ajouter_groupe' => $ajouter_groupe, 'ajouter_groupe' => $ajouter_groupe,
'ajouter_mot' => (is_array($ajouter_mot) ? $ajouter_mot : array($ajouter_mot)), 'ajouter_mot' => (is_array($ajouter_mot) ? $ajouter_mot : array($ajouter_mot)),
......
...@@ -19,7 +19,7 @@ spip_connect(); ...@@ -19,7 +19,7 @@ spip_connect();
// Ce fichier est inclus lorsqu'on appelle un script de l'espace public // Ce fichier est inclus lorsqu'on appelle un script de l'espace public
// avec une variable d'URL nommee confirmer_forum // avec une variable d'URL nommee confirmer_forum
// Voir commentaires dans inc-formulaire_forum // Voir commentaires dans balise/formulaire_forum
function prevenir_auteurs($auteur, $email_auteur, $id_forum, $id_article, $texte, $titre, $statut) { function prevenir_auteurs($auteur, $email_auteur, $id_forum, $id_article, $texte, $titre, $statut) {
global $nom_site_forum, $url_site; global $nom_site_forum, $url_site;
include_spip('inc/texte'); include_spip('inc/texte');
...@@ -162,8 +162,21 @@ function inc_forum_insert_dist() { ...@@ -162,8 +162,21 @@ function inc_forum_insert_dist() {
# retour a calculer (cf. inc-formulaire_forum) # retour a calculer (cf. inc-formulaire_forum)
if ($retour_forum == '!') { if ($retour_forum == '!') {
$retour_forum = self(); # en cas d'echec du post // on calcule a priori l'adresse de retour {en cas d'echec du POST}
$retour_forum=str_replace('&','&',$retour_forum); charger_generer_url();
if ($id_forum)
$retour_forum = generer_url_forum($id_forum);
elseif ($id_article)
$retour_forum = generer_url_article($id_article);
elseif ($id_breve)
$retour_forum = generer_url_breve($id_breve);
elseif ($id_syndic)
$retour_forum = generer_url_syndic($id_syndic);
elseif ($id_rubrique) # toujours en dernier
$retour_forum = generer_url_rubrique($id_rubrique);
$retour_forum = str_replace('&','&',$retour_forum);
// mais la veritable adresse de retour sera calculee apres insertion
$calculer_retour = true; $calculer_retour = true;
} }
...@@ -200,6 +213,17 @@ function inc_forum_insert_dist() { ...@@ -200,6 +213,17 @@ function inc_forum_insert_dist() {
$statut = ($statut == 'non') ? 'off' : (($statut == 'pri') ? 'prop' : $statut = ($statut == 'non') ? 'off' : (($statut == 'pri') ? 'prop' :
'publie'); 'publie');
// Antispam : si 'nobot' a ete renseigne, ca ne peut etre qu'un bot
if (strlen(_request('nobot'))) {
spip_log("spam forum: ".print_r($_POST, true));
include_spip('inc/mail');
envoyer_mail($GLOBALS['meta']['email_webmaster'], 'intrusion forum',
"tentative de spam forum detectee :\n\n".
'$_POST = '.print_r($_POST, true)."\n\n".
'$_SERVER = '.print_r($_SERVER, true));
return $retour_forum; # echec silencieux du POST
}
// Entrer le message dans la base // Entrer le message dans la base
$id_message = spip_abstract_insert('spip_forum', '(date_heure)', '(NOW())'); $id_message = spip_abstract_insert('spip_forum', '(date_heure)', '(NOW())');
......
...@@ -62,6 +62,8 @@ ...@@ -62,6 +62,8 @@
<input type="text" class="forml" name="email_auteur" id="email_auteur" value="#ENV{email_auteur}" size="40"[ readonly="(#ENV{readonly})"] /></p> <input type="text" class="forml" name="email_auteur" id="email_auteur" value="#ENV{email_auteur}" size="40"[ readonly="(#ENV{readonly})"] /></p>
</fieldset> </fieldset>
<input type="text" style="display:none;" name="nobot" value="#ENV{nobot}" size="40" />
<div class="spip_bouton_div"><input type="submit" class="spip_bouton" value="<:forum_voir_avant:>" /></div> <div class="spip_bouton_div"><input type="submit" class="spip_bouton" value="<:forum_voir_avant:>" /></div>
] ]
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter