Spam protection does not always work

Posted by Zeno on Thu 29 Sep 2005 02:50 AM — 9 posts, 38,219 views.

USA #0
I think I brought this up years ago, but never had a chance to show a log.
http://www.gammon.com.au/forum/bbshowpost.php?bbsubject_id=2317

So while testing something on a codebase today, 'kill figh' was entered 20 times with a trigger:

A low humming noise can be heard.

<Lifeforce (100) Armor (0) Energy (4,512)> 
<Powerlevel (21,540,189,892/21,540,189,892)> 
k figh
You **** ATOMIZE **** A Newbie Fighter!  [999,999,999]
A Newbie Fighter is DEAD!!
k fight

<Lifeforce (100) Armor (0) Energy (4,512)> 
<Powerlevel (21,540,189,892/21,540,189,892)> 

You **** ATOMIZE **** A Newbie Fighter!  [999,999,999]
A Newbie Fighter is DEAD!!
k fight

<Lifeforce (100) Armor (0) Energy (4,512)> 
<Powerlevel (21,540,189,892/21,540,189,892)> You **** ATOMIZE **** A Newbie Fighter!  [999,999,999]
A Newbie Fighter is DEAD!!
k fight

<Lifeforce (100) Armor (0) Energy (4,512)> 
<Powerlevel (21,540,189,892/21,540,189,892)> You **** ATOMIZE **** A Newbie Fighter!  [999,999,999]
A Newbie Fighter is DEAD!!
k fight

<Lifeforce (100) Armor (0) Energy (4,512)> 
<Powerlevel (21,540,189,892/21,540,189,892)> You **** ATOMIZE **** A Newbie Fighter!  [999,999,999]
A Newbie Fighter is DEAD!!
k fight

<Lifeforce (100) Armor (0) Energy (4,512)> 
<Powerlevel (21,540,189,892/21,540,189,892)> You **** ATOMIZE **** A Newbie Fighter!  [999,999,999]
A Newbie Fighter is DEAD!!
k fight

<Lifeforce (100) Armor (0) Energy (4,512)> 
<Powerlevel (21,540,189,892/21,540,189,892)> You **** ATOMIZE **** A Newbie Fighter!  [999,999,999]
A Newbie Fighter is DEAD!!
k fight

<Lifeforce (100) Armor (0) Energy (4,512)> 
<Powerlevel (21,540,189,892/21,540,189,892)> You **** ATOMIZE **** A Newbie Fighter!  [999,999,999]
A Newbie Fighter is DEAD!!
k fight

<Lifeforce (100) Armor (0) Energy (4,512)> 
<Powerlevel (21,540,189,892/21,540,189,892)> You **** ATOMIZE **** A Newbie Fighter!  [999,999,999]
A Newbie Fighter is DEAD!!
k fight

<Lifeforce (100) Armor (0) Energy (4,512)> 
<Powerlevel (21,540,189,892/21,540,189,892)> You **** ATOMIZE **** A Newbie Fighter!  [999,999,999]
A Newbie Fighter is DEAD!!
k fight

<Lifeforce (100) Armor (0) Energy (4,512)> 
<Powerlevel (21,540,189,892/21,540,189,892)> You **** ATOMIZE **** A Newbie Fighter!  [999,999,999]
A Newbie Fighter is DEAD!!
k fight

<Lifeforce (100) Armor (0) Energy (4,512)> 
<Powerlevel (21,540,189,892/21,540,189,892)> You **** ATOMIZE **** A Newbie Fighter!  [999,999,999]
A Newbie Fighter is DEAD!!
k fight

<Lifeforce (100) Armor (0) Energy (4,512)> 
<Powerlevel (21,540,189,892/21,540,189,892)> You **** ATOMIZE **** A Newbie Fighter!  [999,999,999]
A Newbie Fighter is DEAD!!
k fight

<Lifeforce (100) Armor (0) Energy (4,512)> 
<Powerlevel (21,540,189,892/21,540,189,892)> You **** ATOMIZE **** A Newbie Fighter!  [999,999,999]
A Newbie Fighter is DEAD!!
k fight

<Lifeforce (100) Armor (0) Energy (4,512)> 
<Powerlevel (21,540,189,892/21,540,189,892)> You **** ATOMIZE **** A Newbie Fighter!  [999,999,999]
A Newbie Fighter is DEAD!!
k fight

<Lifeforce (100) Armor (0) Energy (4,512)> 
<Powerlevel (21,540,189,892/21,540,189,892)> You **** ATOMIZE **** A Newbie Fighter!  [999,999,999]
A Newbie Fighter is DEAD!!
k fight

<Lifeforce (100) Armor (0) Energy (4,512)> 
<Powerlevel (21,540,189,892/21,540,189,892)> You **** ATOMIZE **** A Newbie Fighter!  [999,999,999]
A Newbie Fighter is DEAD!!
k fight

<Lifeforce (100) Armor (0) Energy (4,512)> 
<Powerlevel (21,540,189,892/21,540,189,892)> You **** ATOMIZE **** A Newbie Fighter!  [999,999,999]
A Newbie Fighter is DEAD!!
k fight

<Lifeforce (100) Armor (0) Energy (4,512)> 
<Powerlevel (21,540,189,892/21,540,189,892)> You **** ATOMIZE **** A Newbie Fighter!  [999,999,999]
A Newbie Fighter is DEAD!!
k fight

<Lifeforce (100) Armor (0) Energy (4,512)> 
<Powerlevel (21,540,189,892/21,540,189,892)> You **** ATOMIZE **** A Newbie Fighter!  [999,999,999]
A Newbie Fighter is DEAD!!
k fight

<Lifeforce (100) Armor (0) Energy (4,512)> 
<Powerlevel (21,540,189,892/21,540,189,892)> You **** ATOMIZE **** A Newbie Fighter!  [999,999,999]
A Newbie Fighter is DEAD!!
k fight

<Lifeforce (100) Armor (0) Energy (4,512)> 
<Powerlevel (21,540,189,892/21,540,189,892)> 
*** PUT A LID ON IT!!! ***
You cannot enter the same command more than 20 consecutive times!


Spam protection was on the whole time, set to 20 and to send 'look'. The trigger was the same, and in fact I wasn't even in the window so I couldn't have entered something else.
Amended on Thu 29 Sep 2005 02:53 AM by Zeno
#1
Is that a DBZ Mud?
Australia Forum Administrator #2
I would do a packet check and make sure the trigger isn't also sending a blank line.

If it sends:


k fight
<blank line>


20 times, then the spam protection won't kick in (as the lines are not identical) but the MUD won't count the blank lines and kick you out.

USA #3
Considering the trigger was never changed and worked before, and that I wasn't in the window, I'd have to say the trigger had no blank line.
Australia Forum Administrator #4
I would still do a packet debug. Maybe you have a "keep alive" timer that sends a blank line every 5 minutes, and that happened to throw in the blank line in the middle of your fight.
USA #5
It's happened again.
<#2500> 
save
Saved...

<#2500> 


<#2500> 
save
Saved...

<#2500> 
save
Saved...

<#2500> 
save
Saved...

<#2500> 
save
Saved...

<#2500> 
save

Ryo wields the swords of Wildfire slashing upwards into the sky inciting a great INFERNO. When it dies down he is gone.

<#2500> Saved...

<#2500> 
save
Saved...

<#2500> 
save
Saved...

<#2500> 
save
Saved...

<#2500> 
Comm: Ryo has quit (Room 1441).

<#2500> 
save


Saved...

<#2500> 
Immortal footsteps are heard in the distance.

<#2500> 
save
Saved...

<#2500> 
save
Saved...

<#2500> 
save
Saved...

<#2500> 
save
Saved...

<#2500> 
save
Saved...

<#2500> 
save
Saved...

<#2500> 
save
Saved...

<#2500> 
save
Saved...

<#2500> 
save
Saved...

<#2500> 
save
Saved...

<#2500> 
save
Saved...

<#2500> 
save

*** PUT A LID ON IT!!! ***
You cannot enter the same command more than 20 consecutive times!
Your bank interest is lost due to logging off.
Your vision begins to blur, as a vortex of colors expands before your eyes
and envelops your body... When you come to, things are not as they were.

A demonic voice rasps, 'You shall be back here soon enough, Zeno...'
(Test clan) - Zeno has left the game.
Connection checker enabled
--- Disconnected on Sunday, September 09, 2007, 1:35 PM ---
--- Connected for 0 days, 22 hours, 20 minutes, 2 seconds. ---


The save is a timer. It does not have a blank line or anything in the timer. I wasn't in the window either. The Spam Prevention is suppose to send "who" at 20 identical commands.
USA #6
Getting kicked offline like that for spamming is exactly why I altered our spamguard code to instead attach a flag to the person and freeze them out until the timer expires.

Either way, something must be sending an additional bit of input between your commands. You don't have to be the one doing it. Your client could be doing something you can't see going on. That's why Nick originally suggested debugging the packets.
USA #7
Yeah, sadly I can't go back and debug the packets. And I doubt I'll see this happen again for months.

Quote:
Either way, something must be sending an additional bit of input between your commands.

If that's true, Smaug shouldn't kick me off since it wasn't 20 identical commands... right?
Australia Forum Administrator #8
Strange. All I can suggest is make your auto-saver do something like this:


save
sigh


That way, SMAUG won't kick you off.