Protection against PM flood?

These are old archives. They are kept for historic purposes only.
Post Reply
Plasma
Posts: 31
Joined: Tue Jun 22, 2004 6:08 am

Protection against PM flood?

Post by Plasma »

A few weeks ago I had some botnet visit my server, and they (about 20 or so) PM'd a few of our users a few times (causing 20 PM windows to show up, crashing their client).

I was thinking, this must be noticable somehow via the serverside?

Is there a way to (or a possible update) to suspend receiving PMs from users automatically (usermode?) for a predetermined amount of time if the amount of PMs being sent to a client are too high for a period of X seconds?

For example, permit 2-3 pm's being sent at once to a client per 5 seconds, but not 20 all in 1-2 seconds.

Just a thought.
Stealth
Head of Support
Posts: 2086
Joined: Tue Jun 15, 2004 8:50 pm
Location: Chino Hills, CA, US
Contact:

Post by Stealth »

I would actually prefer to recieve them all at once...

But other than that, users can set umode +R to only recieve PM's from registered users.
Plasma
Posts: 31
Joined: Tue Jun 22, 2004 6:08 am

Post by Plasma »

I mean only to throttle receiving X amount of PMs from X amount of users within X seconds, at once.

So, allow without throttle general PM conversation of at most 3 different users sending you a PM at the same time within *one second*.

But throttle the sending / warn the user about incoming spam or something

Basically, you dont want to upset normal conversation
Stealth
Head of Support
Posts: 2086
Joined: Tue Jun 15, 2004 8:50 pm
Location: Chino Hills, CA, US
Contact:

Post by Stealth »

A use for umode +R in a situation like this, is to have it set when users connect. If they want to talk to someone with an unregistered nick, they need to unset it. This stops spamming, flooding, annoyances, etc.

A network I frequent made a umode +M. The purpose of this mode was to make it so people can only PM you if they either had a registered nick, or they were on a common channel. This can probably easily be done with a module *pokes Syzop*.

As for a module like what you want, that means an internal timer for every user. Timers == bad. This would not only slow down Unreal, but make more people whine. I see people whining all the time about fakelag, and something like this would make more people whine, not just server admins, but users too!

Also, there is a problem with getting the messages to users. What happens if the messages are important, and just happen to come after a flood? The user needs to wait for these, which can be messages to help him or her solve the problem. What happens if the user disconnects? If the messages are important and undeliverable, how would the person sending the message know it could not have been delivered to the target? What happens if the sender also disconnects? The sender *THINKS* it went through to the user, and the user leaves with no clue there was a message in que.

So if someone makes a module for this, perhaps just a umode that will block mass amounts of messages and retuen an error to the sender such as: "The user you are sending messages to has recently recieved X number of messages. Please wait 10 seconds"... If I were on a network and got something like that, I for one would be mad, especially if it were an urgent message.
Post Reply