Changeset 73463 in spip-zone


Ignore:
Timestamp:
Jun 10, 2013, 10:34:15 AM (6 years ago)
Author:
cedric@…
Message:

On utilise la detection de langue fournie par http://zone.spip.org/trac/spip-zone/browser/_plugins_/plugins_seenthis/detecter_langue/ (mais en l'integrant ici dans le plugin) pour repérer les messages dans une langue différente de l'article. Ces messages sont a priori suspects, et seront modérés avec plus de vigilance (modéré dès qu'il y a un lien).

Cela forcera au moins les spammeurs à apprendre la langue de molière.

Location:
_plugins_/nospam
Files:
1 added
3 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/nospam/nospam_pipelines.php

    r73462 r73463  
    150150                  }
    151151
     152                        $lang_suspecte = false;
    152153                        // si c'est un spammeur connu,
    153154                        // verifier que cette ip n'en est pas a son N-ieme spam en peu de temps
     
    164165                                        spip_log("[Refuse] $nb spam pour (ip=" . $GLOBALS['ip'] . "$email) dans les 2 dernieres heures", 'nospam');
    165166                                        return $flux;
     167                                }
     168                        }
     169                        // sinon regarder si l'objet a une langue, et si le post est dans la meme langue ou non
     170                        // en cas de langue differente, on se mefie
     171                        elseif ($flux['data']['objet']){
     172                                $table = table_objet_sql($flux['data']['objet']);
     173                                $trouver_table = charger_fonction("trouver_table","base");
     174                                if ($desc = $trouver_table($table)
     175                                  AND isset($desc['field']['lang'])){
     176                                        $primary = id_table_objet($flux['data']['objet']);
     177                                        $lang_objet = sql_getfetsel("lang",$table,"$primary=".intval($flux['data']['id_objet']));
     178                                        include_spip("inc/detecter_langue");
     179                                        $lang_post = _detecter_langue($flux['data']['texte']);
     180                                        if ($lang_post!==$lang_objet)
     181                                                $lang_suspecte = true;
    166182                                }
    167183                        }
     
    190206                        );
    191207
    192                         $seuils = isset($GLOBALS['ip_blacklist'][$GLOBALS['ip']])? $seuils['blacklist'] : ($spammeur_connu ? $seuils['suspect'] : $seuils[0]);
     208                        $seuils = isset($GLOBALS['ip_blacklist'][$GLOBALS['ip']])? $seuils['blacklist'] : (($spammeur_connu OR $lang_suspecte) ? $seuils['suspect'] : $seuils[0]);
    193209                        include_spip("inc/nospam"); // pour analyser_spams()
    194210                        foreach ($flux['data'] as $champ => $valeur) {
  • _plugins_/nospam/paquet.xml

    r73462 r73463  
    22        prefix="nospam"
    33        categorie="performance"
    4         version="1.1.0"
     4        version="1.2.0"
    55        etat="stable"
    66        compatibilite="[2.0.0;3.0.99]"
  • _plugins_/nospam/plugin.xml

    r73462 r73463  
    1010        <icon>images/nospam-32.png</icon>
    1111        <licence>(c) 2008 GPL</licence>
    12         <version>1.1.0</version>
     12        <version>1.2.0</version>
    1313        <etat>stable</etat>
    1414        <description><multi>
Note: See TracChangeset for help on using the changeset viewer.