tags/spamStyXman's globhttp://grulicueva.homelinux.net/~mdione/glob//tags/spam/StyXman's globikiwiki2009-01-22T04:24:04Zluchando-contra-el-spam-en-trachttp://grulicueva.homelinux.net/~mdione/glob//posts/luchando-contra-el-spam-en-trac/2009-01-22T04:24:04Z2008-07-04T23:29:16Z
<p>Como habrán notado en mi post anterior, estuve agregando un
plugin anti spam en un Trac que tiene submit de tickets anómimo.
Una vez que TracSpamFilter está instalado como mencioné en tal post
y habiendo instalado WebAdmin también, queda andando de una.</p>
<p>Un comentario antes de pasar al punto de este post. El plugin
funciona con un sistema de karma. Un post arranca con karma 0 y
luego se le va cambiando a medida que los distintos filtros se
disparan o no. El tema es que algunos suman y otros restan karma.
Pero esto no se deduce fácilmente de la página de configuración,
pues todos los valores son positivos. Bueno, les comento: el único
positivo es el SessionFilterStrategy y el resto son negativos.</p>
<p>Esto quiere decir por ejemplo que por default, un usuario con
login (SessionFilterStrategy, +9) puede mandar muchos links
externos (ExternalLinksFilterStrategy, -2) y que además matcheen
contra BadContent (ése es el RegexFilterStrategy, -5) sin que lo
marque como spam.</p>
<p>Volviendo al punto, el problema es que una vez instalado sólo
filtra spam entrante, pero no lo que ya hay. Cómo sacárselo de
encima? No encontré mejor solución que hackear la base de datos. En
mi caso particular, que creo que es el que está afectando a muchos,
encontré que los summaries eran muy cortos, por lo que con esto
alcanzó:</p>
<pre>
<code>delete from ticket where length(summary)<11;
</code>
</pre>
<p>También es posible que les hayan llenado comentarios de tickets
con spam. No es mi caso directo, sino más bien la forma en que
testeaba el plugin. Habiendo hecho lo anterior, los comentarios (y
en realidad, cualquier cambio sobre los mismos) de esos tickets
quedaron huérfanos. Se los puede borrar con:</p>
<pre>
<code>delete from ticket_change where ticket not in (select id from ticket);
</code>
</pre>
<p><code>delete</code>s similares deberían poderse aplicar a otras
partes del trac que estén abiertas.</p>
<p><a href="http://grulicueva.homelinux.net/~mdione/glob//tags/spam/../sysadmin/">sysadmin</a> <a href="http://grulicueva.homelinux.net/~mdione/glob//tags/spam/../trac/">trac</a>
<span class="selflink">spam</span></p>