2012-01-01 18 views
6

सुरक्षा के लिए, मैं अपने node.js एप्लिकेशन में अधिकतम अनुरोध लंबाई निर्धारित करना चाहता हूं। (कई सुरक्षा भेद्यताएं हैं जो वेब सर्वर का लाभ लेती हैं जो असीमित अनुरोध की लंबाई देती हैं)।node.js में अधिकतम अनुरोध लंबाई

क्या यह संभव है? क्या कोई पहले से ही है?

+0

संभावित डुप्लिकेट [Node.js HTTP GET URL लंबाई सीमा] (http://stackoverflow.com/questions/32763165/node-js-http-get-url-length-limitation) –

उत्तर

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

मैं जीईटी के बारे में भी बात कर रहा हूं - उदाहरण के लिए, http://nikic.github.com/2011 देखें /12/28/Supercolliding-a-PHP-array.html उन मुद्दों के लिए जो सीमा के बिना ग्राहक से डेटा स्वीकार करने से आ सकते हैं। –

+0

जीईटी अनुरोधों के लिए यह आसान है, उदाहरण के लिए आप एक मिडलवेयर बना सकते हैं जो केवल जीईटी अनुरोध में अधिकतम एक्स चर को अनुमति देता है। उदाहरण: रेगेक्स का उपयोग करके आप यह निर्धारित करते हैं कि अनुरोध url में कितने '&' प्रतीकों हैं। यदि अधिकतम संख्या पार हो गई है तो आप कनेक्शन को नष्ट कर दें। – alessioalex

+0

यह उत्तर पुराना है और अब गलत है। –

संबंधित मुद्दे