簡體   English   中英

如何使用busboy防止node.js Express中的POST垃圾郵件?

[英]How to prevent POST spamming in node.js Express using busboy?

我在這里跟隨示例: https : //www.npmjs.com/package/busboy

我擔心有人會故意使服務器超載。 我想知道在上傳數據之前是否有一種方便的方法來防止垃圾郵件,方法是測量整個POST正文的大小,而不僅僅是測量上傳的文件。 我嘗試了以下方法,但顯然不起作用:

if (JSON.stringify(req.body).length > 5 * 1024 * 1024) res.redirect('/');

您不能依賴於設置的Content-Length 即使已設置,但如果該人正在惡意行事,他們要么使用錯誤的Content-Length要么使用Transfer-Encoding: chunked ,在這種情況下,無法確定請求主體的大小。

另外,每次在req.body上調用stringify()也很容易引起DoS風格的攻擊。

但是, busboy確實有幾種選擇來限制application/x-www-form-urlencodedmultipart/form-data請求的各個方面(例如,最大文件大小,最大文件數等)。

您也可以將請求正文的解析限制在期望有請求正文的路由上,而不是嘗試為所有請求解析請求正文。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM