Ticket #1152 (closed defect: fixed)
correction Petit bug, et amélioration de linkslookup
Reported by: | gnieark | Owned by: | Tomtom33 |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | module:plugins | Version: | 2.2 |
Severity: | normal | Keywords: | |
Cc: |
Description
Bonjour,
Ce tiquet est une copie de ce message: http://forum.dotclear.net/viewtopic.php?id=44095
Sur l'outil linkslookup dans le plugin antispam. Il y a deux problèmes:
Dans la funtion isSpam Le test sur le retour du gethostbyname n'est pas correct, c'est un résultat avec une ip en 127.X.X.X qui indique que l'Url est présente dans la bdd de surbl.
De plus l'expression régulière permettant de sortir le domaine de l'URL ne ressort pas les sous domaines (juste domaine.tld) alors que dans la base de donnée de subrl domaine.tld peut ne pas etre blacklisté tandisque sousdomaine.domaine.tld l'est.
Pour mon blog je l'ai modifiée de cette manière la function:
public function isSpam($type,$author,$email,$site,$ip,$content,$post_id,&$status) { if (!$ip || long2ip(ip2long($ip)) != $ip) { return; } $urls = $this->getLinks($content); array_unshift($urls,$site); foreach ($urls as $u) { $b = parse_url($u); if (!isset($b['host']) || !$b['host']) { continue; } //c'est surement possible de remplacer les deux lignes suivantes par une seule expression régulière: $domain = preg_replace('/^[\w]{2,6}:\/\/([\w\d\.\-]+).*$/','$1',$b['host']); $domain_elem= explode(".",$domain); $i=count($domain_elem) -1 ; $host = $domain_elem[$i]; do { $host= $domain_elem[$i-1].'.'.$host; $i--; if (substr(gethostbyname($host.'.'.$this->server),0,3) == "127" ) { $status = substr($domain,0,128); return true; } }while($i>0); } }
Je me permet de le mettre en severity major, car dans certains cas, ça bloque tous les commentaires, j'ai trouvé plusieurs sujets similaires sur le forum. Je n'ai pas trouvé le rapport, mais c'est devenu bloquant (tous les commentaires en faux positifs) lorsque j'ai passé mon installation de dotclear en multiblog.
En espérant que ce retour vous soit utile.
Change History
comment:1 Changed 14 years ago by Tomtom33
- Owner changed from team to Tomtom33
- Milestone changed from 2.3 to 2.4
comment:4 Changed 14 years ago by kozlika
Il y a une raison qui s'oppose à mettre ce patch dans la 2.4 ? Faut-il tester ou un truc comme ça ?
comment:5 Changed 13 years ago by franck <carnet.franck.paul@…>
- Status changed from new to closed
- Resolution set to fixed
(In [dda0e8b497de]) enhance links lookup anti spam filter, thanks gnieark, fixes #1152