[英]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-urlencoded
和multipart/form-data
請求的各個方面(例如,最大文件大小,最大文件數等)。
您也可以將請求正文的解析限制在期望有請求正文的路由上,而不是嘗試為所有請求解析請求正文。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.