Los wikis públicos como este son propensos a recibir ataques de spam, en nuestro caso estamos protegidos con esta opción, pero es posible que a nuestras páginas llegue un robot de spam link o una persona que se toma el trabajo para enlazar nuestro sitio con otro no deseado. Tales sitios generalmente son de pornografía y juegos de azar o phishing, no estamos interesados en enlazarnos con tales sitios....
Este snippet de python, puede ayudar a que enriquezcamos la base de datos de Spam para colaborar con todos los wikis que tengan activado el antispam. Ejecútelo y avise en la ListaDeCorreo, o si es colaborador de moinmoin, repórtelo directamente.
1 #Autor Igor Támara
2 #Se cede al dominio público
3 #Sin garantías
4 import urllib,re
5
6 reurl=re.compile("http://((\d|\w|\.|-|_)*)/")
7 #identificacion de enlaces
8
9 def buscamos(estaes):
10 #Repositorio de expresiones regulares de spam
11 spamrep="http://moinmaster.wikiwikiweb.de/BadContent?action=raw"
12 a=[]
13 mires=[]
14 try:
15 f=urllib.urlopen(spamrep)
16 a=f.readlines()
17 except :
18 print "grr, no puedo acceder a %s" % spamrep
19 seen=[]
20 if len(a)>0:
21 for i in a:
22 if i[0]!='#':
23 #No se tiene en cuenta comentarios
24 #Se crea la expresion regular
25 mires.append(re.compile(".*"+i[:-2]+".*"))
26 for j in estaes:
27 if mires[-1].search(j)!=None:
28 if j not in seen:
29 #Se almacenan las identificadas
30 seen.append(j)
31 #Se presentan los sitios no identificados
32 for i in estaes:
33 if i not in seen:
34 print i
35 a=raw_input()
36 b=[]
37 for i in reurl.findall(a):
38 if b.count(i[0])==0:
39 #Se eliminan repeticiones
40 b.append(i[0])
41 buscamos(b)

