2012-01-01 112 views
6

爲了安全起見,我想在我的node.js應用程序中設置最大請求長度。 (有很多安全漏洞利用Web服務器允許無限制的請求長度)。node.js中的最大請求長度

這可能嗎?有沒有?

+0

的可能的複製[Node.js的HTTP GET URL長度限制( http://stackoverflow.com/questions/32763165/node-js-http-get-url-length-limitation) – 2016-07-31 05:36:30

回答

1

我猜你指的是客戶端可以通過POST發送給你的數據。如果使用的是快遞,你可以使用limit中間件來實現這一目標:http://senchalabs.github.com/connect/middleware-limit.html

的事已至此,有一個簡短的版本是:

req.on('data', function(chunk){ 
    received += chunk.length; 
    if (received > bytes) req.destroy(); 
}); 
+1

我也在談論GET - 例如,請參閱http://nikic.github.com/2011 /12/28/Supercolliding-a-PHP-array.html,可以從無限制地接受客戶數據中獲得的各種問題。 – 2012-01-03 03:27:00

+0

GET請求更容易,例如,您可以創建只允許GET請求中的X變量最大的中間件。例如:使用正則表達式可以確定請求URL中有多少個'&'符號。如果超過最大數量,則銷燬連接。 – alessioalex 2012-01-03 09:26:29

+0

此答案已過時,現在不正確。 – 2016-06-21 02:43:56

相關問題