محافظت در برابر Flood و Raid
مقدمه
محافظت در برابر Flood و Raid از گروه در برابر دو مشکل مرتبط دفاع میکند: اینکه یک عضو بهتنهایی پیامها را سریعتر از آن بفرستد که کسی بتواند بخواند، و اینکه موجی هماهنگ از حسابها همزمان وارد شوند تا چت را از کنترل خارج کنند. هر دو مورد بهصورت خودکار مدیریت میشوند، اما فقط بعد از اینکه یک ادمین آنها را فعال کند. همه قابلیتهایی که در اینجا توضیح داده شدهاند بهصورت پیشفرض غیرفعال هستند و تا زمانی که برای گروه فعال نشوند هیچ اقدامی انجام نمیدهند؛ بنابراین اضافهکردن ربات، رفتار چت شما را تغییر نمیدهد مگر وقتی خودتان تصمیم بگیرید.
این دو سیستم در نقاط متفاوتی عمل میکنند. ضد Flood رفتار اعضای جداگانه را هنگام ارسال پیام زیر نظر میگیرد. ضد Raid نرخ ورود اعضای جدید را پایش میکند. اینها در کنار کنترل دستی /panic و بررسی سوءاستفادهگران شناختهشده هنگام ورود، به ادمینها راهی میدهند تا هنگام هجوم اسپم، گروه را قابلخواندن نگه دارند و در زمان حمله هماهنگ، درها را ببندند.
ضد Flood: سرعت ارسال پیام
ضد Flood تعداد پیامهایی را که یک عضو غیرادمین میتواند در یک بازه کوتاه بفرستد محدود میکند. این قابلیت با سه تنظیم در داشبورد گروه کنترل میشود:
set_antiflood_enabled— کلید روشن/خاموش. بهصورت پیشفرض خاموش است.set_antiflood_msgs— سقف تعداد پیام. مقدار پیشفرض 8 است.set_antiflood_secs— طول بازه زمانی بر حسب ثانیه. مقدار پیشفرض 5 است.
با تنظیمات پیشفرض، عضوی که در یک بازه ۵ ثانیهای بیش از ۸ پیام بفرستد از حد مجاز عبور میکند. ربات پیامهای هر عضو را در یک بازه کوتاهِ لغزان میشمارد؛ وقتی تعداد از حد مجاز بالاتر برود، پیامهایی که آن هجوم را تشکیل دادهاند حذف میشوند و اعمال محدودیت شروع میشود.
اعمال محدودیت تشدیدشونده است. اولین باری که یک عضو Flood میکند، ربات یک سکوت موقت ۵ دقیقهای اعمال میکند. اگر همان عضو کمی بعد دوباره Flood کند، ربات بهجای سکوت او را بن میکند. این یعنی یک اشتباه اتفاقی فقط یک سکوت کوتاه در پی دارد، اما عضوی که به Flood ادامه میدهد حذف میشود.
دو قانون باعث میشوند این رفتار منصفانه و ایمن بماند:
- ادمینها مستثنا هستند. بررسی سرعت فقط برای اعضای غیرادمین اجرا میشود، بنابراین مدیران و ادمینها هرگز بهخاطر ضد Flood سکوت یا بن نمیشوند.
- در صورت خطا باز میماند. شمارنده روی یک ذخیرهساز سریع در حافظه اجرا میشود. اگر آن ذخیرهساز یک خطای گذرا برگرداند، ربات بهجای مجازات، اجازه میدهد پیام عبور کند. یک مشکل موقت زیرساختی هرگز به سکوت یا بن ناعادلانه منجر نمیشود.
ضد Flood در مسیر داغِ هر پیام اجرا میشود، بنابراین همزمان با رسیدن پیامها واکنش نشان میدهد، پیش از بررسیهای محتوایی سنگینتر. از آنجا که آستانه و بازه قابل پیکربندی هستند، میتوانید آن را با ریتم عادی گروه خود تنظیم کنید — یک چت شلوغ شاید به سقف پیام بالاتری نیاز داشته باشد، درحالیکه یک کانال اطلاعرسانی آرام ممکن است تنظیم سختگیرانهتری بخواهد.
ضد Raid: قفلکردن هنگام موج ورود
ضد Raid سرعت ورود اعضای جدید را زیر نظر میگیرد. این قابلیت با چهار تنظیم کنترل میشود:
set_antiraid_enabled— کلید روشن/خاموش. بهصورت پیشفرض خاموش است.set_antiraid_joins— سقف تعداد ورود. مقدار پیشفرض 10 است.set_antiraid_secs— بازه زمانی بر حسب ثانیه. مقدار پیشفرض 30 است.set_antiraid_lockdown_secs— مدت زمان قفلبودن. مقدار پیشفرض 600 ثانیه (۱۰ دقیقه) است.
با تنظیمات پیشفرض، ورود بیش از ۱۰ عضو در ۳۰ ثانیه باعث فعالشدن قفل گروه میشود. وقتی این اتفاق میافتد، ربات با حذف مجوزهای پیشفرض چت، کل گروه را قفل میکند تا اعضا دیگر نتوانند پیام بفرستند. قفل برای مدت تعیینشده باقی میماند و سپس بهصورت خودکار آزاد میشود و مجوزهای عادی گروه را برمیگرداند.
قفلکردن، توقف موقت است نه پاکسازی. این کار جلوی ارسال پیام توسط موج حسابهای جدید را در زمان هجوم میگیرد و به ادمینها فرصت میدهد ببینند چه خبر است. وقتی زمانسنج تمام شود، گروه خودبهخود دوباره باز میشود. مانند ضد Flood، شمارنده ورود هم در صورت خطا باز میماند — یک خطای گذرا هنگام شمردن ورودها هرگز بهاشتباه باعث قفلشدن گروه نمیشود.
قفل دستی: /panic و /unpanic
ادمینها میتوانند هر زمان که بخواهند گروه را دستی قفل کنند، حتی وقتی تشخیص خودکار Raid خاموش است:
/panic— گروه را فوراً برای بازه قفلِ پیکربندیشده قفل میکند. اعضا تا زمان آزادشدن قفل یا برداشتن آن توسط ادمین نمیتوانند پیام بفرستند./unpanic— قفل را زودتر آزاد میکند و دوباره به اعضا اجازه ارسال پیام میدهد.
هر دو دستور فقط مخصوص ادمینها هستند؛ اگر یک غیرادمین آنها را اجرا کند، درخواستش رد میشود. /panic زمانی مفید است که شروع دردسر را میبینید و میخواهید پیش از رسیدن به آستانه خودکار، گروه را ببندید؛ یا وقتی تشخیص خودکار را خاموش گذاشتهاید اما همچنان یک توقف اضطراری تکدستوری میخواهید.
بیرونکردن سوءاستفادهگران شناختهشده هنگام ورود
تنظیم set_kick_known_abusers (بهصورت پیشفرض خاموش) هر عضو جدید را با سیگنال مشترک هوشمندی کاربران در شبکه بررسی میکند. حسابهایی که پیشتر در جای دیگری از شبکه بهعنوان سوءاستفادهگر شناختهشده علامتگذاری شدهاند، یک نشانگر سراسری دارند. وقتی این تنظیم روشن باشد و یک حساب علامتخورده وارد شود، ربات همان لحظه و پیش از اینکه بتواند پیام بفرستد، او را بن میکند.
این بررسی هم در صورت خطا باز میماند: اگر جستوجوی سوءاستفادهگر با خطا روبهرو شود، ربات عضو واردشده را پاک فرض میکند و اجازه ورود میدهد؛ بنابراین یک مشکل در جستوجو هرگز باعث بنشدن یک عضو واقعی نمیشود. وقتی یک سوءاستفادهگر شناختهشده به این روش بن شود، اگر لاگ مدیریت برای گروه تنظیم شده باشد، رویداد در آن ثبت میشود.
هماهنگی قفل با حالت شب
ضد Raid و حالت شب هر دو با قفلکردن مجوزهای ارسال گروه کار میکنند، بنابراین از یک قفل زیربنایی مشترک استفاده میکنند. این دو قابلیت با هم هماهنگ میشوند تا هیچکدام گروه را باز نکند درحالیکه دیگری هنوز میخواهد بسته بماند. اگر قفل Raid تمام شود اما بازه سکوتِ حالت شب هنوز فعال باشد، گروه برای حالت شب قفل میماند؛ اگر بازه حالت شب تمام شود اما قفل Raid هنوز در جریان باشد، گروه برای Raid قفل میماند. گروه فقط زمانی دوباره باز میشود که هیچیک از این قابلیتها نیازی به بستهبودن آن نداشته باشند.
بهترین روشها
- با آستانههای پیشفرض شروع کنید و فقط اگر فعالسازیهای اشتباه یا موارد ازدسترفته دیدید، آنها را تغییر دهید. پیشفرضها برای بیشتر گروهها مناسباند.
- حتی اگر تشخیص خودکار Raid را فعال میکنید،
/panicرا بهعنوان پشتیبان دستی به خاطر داشته باشید — سریعترین راه برای منجمدکردن گروه است. - بررسی سوءاستفادهگران شناختهشده را برای گروههای عمومی که هر کسی میتواند واردشان شود روشن کنید؛ این کار متخلفان تکراری را پیش از ارسال پیام متوقف میکند.
- به یاد داشته باشید که ادمینها هرگز تحت تأثیر ضد Flood قرار نمیگیرند، بنابراین اگر میخواهید عملکرد آن را ببینید، قابلیت را با یک حساب غیرادمین آزمایش کنید.
خلاصه
محافظت در برابر Flood و Raid به ادمینها کنترل لایهای میدهد: ضد Flood با حذف، سکوت و سپس بن، با یک عضو پرسروصدا برخورد میکند؛ ضد Raid موج ورود را با قفل زماندار گروه مدیریت میکند؛ /panic امکان مداخله دستی میدهد؛ و بررسی سوءاستفادهگران شناختهشده حسابهای علامتخورده را پشت در متوقف میکند. همه اینها تا زمانی که فعالشان نکنید خاموش میمانند، در موارد مرتبط ادمینها را مستثنا میکنند، و بررسیهای خودکار در صورت خطا باز میمانند تا یک خطای موقت هرگز عضو بیگناهی را مجازات نکند.