2017-07-02 100 views
0

我想知道,如果它有助於防止用戶通過發射套接字來氾濫服務器。NodeJS socket.io氾濫

如果是這樣,如何阻止這些攻擊。 我問這個問題,因爲沒有很多最近的帖子。

回答

1

防止用戶通過發送套接字來淹沒服務器很有用。

這完全取決於您的應用程序,以及流氓客戶端發送大量emits()的後果是什麼。如果您的服務器在發生故障或服務受到嚴重破壞時發生故障,那麼是的,它會很有用。

如何阻止攻擊的論文

我會說,這通常限速傘下適合,同樣與HTTP請求。如果你想防範過度活躍的客戶端,那麼你通常會在你的服務器上設置一些速率限制(這就是Google爲它的API所做的),當客戶端超過速率限制時,你可以放棄他們的socket.io連接並拒絕來自該用戶的一段時間的新連接。經過多次犯罪,你可能會禁止他們的帳戶。

您還可以限制同一客戶端同時連接到一些小數字(取決於您的應用程序應該是什麼數量)的次數,以防止它們在同一個客戶端上多次重複敲擊。

提高複雜程度,您可以使您的費率限制基於賬戶,因此如果一個賬戶有多個開放連接,您可以統計所有賬戶連接的匯率限制,而不是單獨的每個連接。

+0

謝謝,現在我明白了 你認爲這個包: https://www.npmjs.com/package/socket-anti-spam 可以免受攻擊「保衛」我的服務器? –

+0

@ Dr.Blamo - 對不起,但我不知道具體的包。 – jfriend00

+0

一個包臨時ip禁令,包含垃圾郵件的用戶。 (可定製) –