Ok so ive been focusing on improving my spam guard and have found one type of spam that i cant think of a way to get out and that random garble like this: "lkajdflka"
Its minimized by size and delays but cant seem to figure out a way to check for it that any body have any ideas how.
ID:160722
![]() Jul 29 2008, 8:33 am
|
|
![]() Jul 29 2008, 10:31 am
|
|
You could check for vowels. Other than that, I can't think of a good way aside from checking each word against a dictionary.
|
In the basic sense, you can't really feasibly prevent this. Also, if you already limit the amount of messages a player can send and their length, this should be no problem (though repeated use could always be forked over to moderators, of course). Really though, this isn't more obnoxious (IMO) than some people's so-called "English", either, which they tend to use most of the time (and would incidentally be likely to get caught by a measure taken to prevent the problem you're talking about).
|
The Best thing i can come up with is that you Create a List with all the words in the English Dictionary and then you check if each word is in the dictionary and if it isnt then you Send them the error report or whatever.
What i would do is Create a Small Application Which creates the list for you and i dont think it will be that hard, i might attempt in making that tommorrow so yeah give it a go. var/Dictionary = list("(Dictionary List)"); -SubZeroChaos |
True, but it'd be very slow still, even if you cache the dictionary on world startup or whatnot. Remember, you're going to be comparing each 'word' against all the strings in the dictionary until you get a match. >:P
|
Regardless, I don't see any method for doing this without it being trigger happy. There's the possibility of people who type like retarded monkeys, foreign langauges, slang, nicknames(e.g. Kaioken, Glarfugus :P), and so forth.
|
Glarfugus wrote:
Regardless, I don't see any method for doing this without it being trigger happy. There's the possibility of people who type like retarded monkeys, foreign langauges, slang, nicknames(e.g. Kaioken, Glarfugus :P), and so forth. And don't forget the "netspeak dictionary" including words like dood and lol. |
Well thanks for all the input, you pretty much confirmed my thoughts already that there isnt a real way. One thing i did think of but couldnt get it to work right was to check for a space and obviously the shorter ones would get through but if they tried and do a longer one it would cut it off before my character limit.
So try and check to see if there is a space in the first 12 letters or something (not very many words longer than 12 letters and yes i know there are) something like this if(findtext(msg," ",1,12)) |
Every spam guard is easily bypassed when you know what its looking for, there will be no spamguard able to stop everything that wouldnt use a whole bunch memory and cause lag this would be a pretty easy way to do it that wont use much memory
But further more you can easily point out the flaws and loop holes in other peoples code try posting a solution if your gonna shoot something down |
There's no solution because it's inherently infeasible, as was said already.
Also, if you haven't realized it yet, your code will just block guys using legitimately one-word messages such as "Yes", "Hi", or what have you, and won't really have any actual beneficial effect, since players will simply add random spaces to their message, etc, as was also mentioned. |
Yes i know that there would be the flaw with one world messages and I was gonna add a if length was greater than 12 statement to prevent that, also like i said it easily bypass once you know what its looking for just like all the other spamguards,but the harder i make it to spam the less likely they will try to spam. I know there will not be a complete solution but there has to be something and I think my method would prevent easy spam.
|
Who cares if they do random letters, thats just them looking like tards, but a smart idea is to put a delay in text.
-WB |
Hmm.
Glarfugus wrote: <s>Or</s> And have active administration to stop the retard <s>in the first place</s> afterwards, actually, since you often wouldn't know he's a retard beforehand. Fixed. :P |