mejorar script anti Hoygan

Iniciado por hardjesjlc, 31 Marzo 2008, 11:28 AM

0 Miembros y 1 Visitante están viendo este tema.

hardjesjlc

Hola me he encontrado este script anti-hoygan en www.nopuedocreer.com
Lo que hace este programa, es que al escribir un comentario de un post. El programa lo analiza y si no cumple una serie de requisitos (tiene demasiadas mayusculas, contiene palabras del diccionario...) salta un mensaje de error.
Citar
// antiHOYGAN
// Script URI: http://www.nopuedocreer.com/quelohayaninventado/?page_id=203
// Description: "Filtro antiHOYGAN"
// Author: Dani "Troy" Gonzalez
// Version: 1.0
// Author URI: http://www.hevistocosas.com

function filterHOYGAN (texto)
{
   swHOYGAN=false;
   msgError="";

   numLetras=texto.length;
   numMayusculas=0;
   for (i=0;i<numLetras;i++)
      if (texto.charAt(i)>='A' && texto.charAt(i)<='Z')
         numMayusculas++;
    if (numLetras>4 && numMayusculas>numLetras/4)         
    {
      swHOYGAN=true;
      msgError="Shift overload";
   }
   else
   {
      textoLower=texto.toLowerCase();
      textoLower=" "+textoLower;
      HOYGANseed = new Array("hoygan","hoigan","wenas","wapo","wapa","weno","favor","quiero","plis ","pliss","plisss","gracias","antebraso"," que "," k "," q "," d ","pq","xq","aaaa","eeee","iiii","oooo","uuuu","jajaja","hahaha","jejeje","!!!","???","dddd","fff","ggg","jjj","lll","mmmm","nnnn","rrrr","xxxx","zzzz","dddd","ssss");
      for (i=0;i<HOYGANseed.length;i++)
      {
         if (textoLower.indexOf(HOYGANseed)!=-1)
         {
            swHOYGAN=true;
            msgError=HOYGANseed;
            break;
         }   
      }
   }
   if (swHOYGAN)
   {   
      alert ("ALERT: AntiHOYGAN Filter FAILED!\n\n>>Offending Command: \""+msgError+"\"\n\nRevise su mensaje y vuelva a intentarlo, por favor.\n\nSi el problema persiste, puede solucionarlo accediendo a:\nwww.RAE.es\nfrikipedia.es/friki/Hoygan");
      return false;
    }
    return true;
}


Me gustaria mejorarlo, para en vez de que lea de un array, poder leer de un collection , un Set o un map para asi poder mejorar la velocidad y aumentar el diccionario.
Que seria mejor (set, collection, map)??
Me dais alguna idea mas para mejorarlo?
Gracias
un saludo!!