我是ExpressJS的新手,如果他的ip(存儲在數據庫中)的失敗登錄次數超過了允許的最大數量,我需要刪除與用戶的連接,但是我找不到有關如何做這個。它看起來像server.close()
的作品,但據我所知,它關閉了整個服務器,而不僅僅是一些連接。那麼從ExpressJS中間件中斷開連接的方式是什麼?ExpressJS拖放連接
回答
ExpressJS不提供到瀏覽器的連接,只處理HTTP(S)請求,因此無法刪除它。套接字提供,但假設那不是你的情況。
在這種情況下,您可以發送回覆消息,如'已達到最大登錄嘗試次數。請在*分鐘後重試。也許隱藏登錄表單。
謝謝,我可以使用NodeJS的套接字? – snowfinch27
當然你可以,在這裏很好的lib:[socket.io](http://socket.io/)。但是,你需要套接字的目的是什麼? –
我需要根據失敗登錄的次數(來自數據庫)關閉單個用戶的連接,現在我無法找出另一種方式,我非常感謝任何幫助 – snowfinch27
另一種「丟棄」連接的方法是立即呼叫res.end()
,這將發送一個空的答案。
唯一的缺點是請求仍然會經歷任何以前的中間件,所以它無法保護針對中間件的DoS攻擊,並且不會像丟棄整個連接那樣有效,因爲DDoS攻擊。
- 1. 拖放連接的項目
- 2. 服務WCF拖放連接
- 3. Expressjs bodyParser和連接形式
- 4. ExpressJS連接到回調
- 5. 如何使用expressjs連接?
- 6. KendoUI連接可拖放到可排序
- 7. JQuery拖放鏈接
- 8. 無法使用Node.js + Expressjs連接到MongoHQ
- 9. 連接到angularjs的expressjs應用程序
- 10. 與NodeJS和ExpressJS的Oracle連接
- 11. ExpressJS - 如何正確關閉MySQL連接
- 12. 的NodeJS,socket.io和expressjs不連接
- 13. Expressjs Mongodb初始連接建立困難
- 14. 錯誤:連接超時 - expressjs mongodb mongoose
- 15. 禁用imageIcon接受拖放
- 16. jQuery拖放子鏈接
- 17. 在JavaScript中拖放鏈接
- 18. jqGrid拖放接收事件
- 19. WebRTC dataChannel.readyState拖延「連接」
- 20. 添加書籤欄favicon從拖放n拖放javascript鏈接
- 21. Flex拖放和拖放
- 22. HTML5拖放或JqueryUI拖放?
- 23. 拖放大小拖放區
- 24. 使用本機HTML5拖放連接的流程圖元素
- 25. 連接拖放到QListWidget中的函數的最佳方式
- 26. 如何綁定兩個連接列表的拖放事件
- 27. 連接樹網格與拖放使用角JS
- 28. 提醒在應用基礎架構:拖放連接
- 29. 在jsPlumb圖表中顯示連接拖放選項
- 30. 阻止,檢測連接/刪除/拖動/釋放塊
雖然它不阻止用戶發送數據,但您可以直接調用'res.end',響應將是一個「空白」html文件,這將具有幾乎相同的效果。 – DrakaSAN
@DrakaSAN謝謝,它確實有效,可能正是我所需要的 – snowfinch27
我可能會在最後失敗的嘗試中用客戶端cookie,以及您做它時的日期時間。然後添加自定義中間件來檢查該cookie並按照DrakaSAN的建議進行操作。這意味着您可以在執行更復雜的請求處理之前將該中間件放入,而不會將查詢發送到您的數據庫中。客戶可以阻止它或手動清除它,如果當然,所以它不應該是你唯一的檢查。只是一個想法。 – Mic