Formulaire d’écriture à l’auteur. Une solution anti-spam

Ceci est une ARCHIVE, peut-être périmée. Vérifiez bien les compatibilités !

Dans le squelette de base SPIP, il suffit de cliquer sur le nom d’un auteur pour avoir son adresse, alors les bots spammeurs s’en donne à cœur joie.

ce squelette simple ajoute une page pour écrire à l’auteur à travers un formulaire sans jamais voir son mail.

Au lieu de laisser l’utilisateur utiliser son programme de courrier électronique pour envoyer des mails aux auteurs, pourquoi ne pas lui fournir un formulaire web.

Squelette

ceci se fait grâce à un squelette d’une page simple :

ecrire_auteur.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html lang="fr">
<head>
<title>Ecrire &agrave; l'auteur</title>
<meta http-equiv="Content-Type" content="text/html; charset=#CHARSET">

<!-- Ceci est la feuille de style par defaut pour les types internes a SPIP -->
<link rel="stylesheet" href="spip_style.css" type="text/css">

<!-- Les feuilles de style specifiques aux presents squelettes -->
<link rel="stylesheet" href="typographie.css" type="text/css">

<!-- media="..." permet de ne pas utiliser ce style sous Netscape 4 (sinon plantage) -->
<link rel="stylesheet" href="habillage.css" type="text/css" media="projection, screen, tv">
<!-- media="print" permet d'utiliser cette feuille de style quand vous imprimez depuis votre navigateur -->
<link rel="stylesheet" href="impression.css" type="text/css" media="print">

</head>
<body>
<div id="principal" class="contenu">

<BOUCLE_article_principal(ARTICLES) {id_article}>
<BOUCLE_auteurs(AUTEURS) {id_article}>
<div class="cartouche">
<div class="textetop">
<h1 class="titre-texte">&Eacute;crire &agrave; #NOM</h1>
<div class="surtitre">&agrave; propos de "#TITRE"</div>
</div>
</div>

#FORMULAIRE_ECRIRE_AUTEUR

</BOUCLE_auteurs>
<center><a href="#URL_ARTICLE" title="retour &agrave; : #TITRE">retour</a></center>
</BOUCLE_article_principal>

</div>

</body>
</html>

ecrire_auteur.php

<?php
$fond = "ecrire_auteur";
$delais = 10 * 24 * 3600;

include ("inc-public.php");

?>

Mettez ces deux fichiers dans votre répertoire SPIP.

Lien depuis les autres squelettes

Maintenant, il faut dirigez les auteurs vers cette page. Rien de très complexe, il faut faire une boucle AUTEUR (dans un contexte où id_article est disponible. e.g. dans un boucle ARTICLE) :

<BOUCLE_auteurs(AUTEURS) {id_article} {par nom}>
		<li><A HREF="ecrire_auteur.php?id_article=#ID_ARTICLE">#NOM</a></li>
</BOUCLE_auteurs>
  1. A partir de la version 1.7.2, le fichier auteur-dist.html fourni par défaut avec SPIP propose la même fonctionalité.
  2. Ce formulaire ne marche que si l’hebergeur sur lequel se trouve le site permet l’envoie d’email.

Discussion

2 discussions

  • 1

    Bonjour. Ai implémenté le formulaire sur notre site ( verdeil.ch ).
    Ma question : est-il possible de faire des liens autrement que dans une boucle ARTICLE ??? sans l’appel à l’id de l’article ?

    • Est-il possible de faire des liens autrement que dans une boucle ARTICLE ??? sans l’appel à l’id de l’article ?

      Bonjour,

      Oui,on peut imaginer ne pas mettre la boucle ARTICLES dans ce fichier et mettre une simple boucle AUTEURS avec id_auteur.
      Celui ci serait alors passé dans l’url à l’appel de la page.

      Je pense que c’est ce qui est fait dans le fichier de la distribution à partir de la version 1.7.2 (donc cette contrib est un peu obsolète pour ces versions).

    Répondre à ce message

  • 3

    d’ailleurs ce serait bien de mettre cela dans spip contrib...

    • salut, c’est déjà le cas, le lien auteur renvoit vers la page auteur.php3 avec un formulaire (au moment ou j’écris il y a un bud de réecriture d’url mais tu peux par exemple voir la page contact. Et les adresses mail des forums sont cryptés avec le filtre antispam de spip. On pense à vous !

    • Bonjour,

      Que faut-il faire pour parametrer le site pour que l’envoie de mail fonctionne ?
      Faut-il mettre une adresse de serveur (ou service) SMTP ?
      Je n’ai rien vu dans la partie administration de spip..

      Merci pour vos infos

    • L’envoie des mails n’est pas vraiment fait pas SPIP. Celui ci appelle des fonctions php qui doivent exister sur le serveur.

      Ainsi, si le serveur n’est pas configuré pour l’envoie de mail par php, alors SPIP ne le fait, sinon SPIP le fait (sans autre configuration).

      Il faut donc s’assurer que le fourniseur permet l’envoie d’email sur son serveur.

    Répondre à ce message

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom