2012-01-01 22 views
6

Por seguridad, me gustaría establecer una longitud de solicitud máxima en mi aplicación node.js. (Hay muchas vulnerabilidades de seguridad que aprovechan los servidores web que permiten longitudes de solicitud ilimitadas).longitudes de solicitud máxima en node.js

¿Esto es posible? ¿Ya hay uno?

+0

duplicado posible de [Node.js HTTP GET URL limitación de longitud] (http://stackoverflow.com/questions/32763165/node-js-http-get-url-length-limitation) –

Respuesta

1

Supongo que se refiere a los datos que un cliente puede enviarle a través de POST. Si está utilizando Express, puede utilizar el middleware limit para lograrlo: http://senchalabs.github.com/connect/middleware-limit.html

Una versión corta de lo que se hace allí es:

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

También estoy hablando de GET, por ejemplo, ver http://nikic.github.com/2011 /12/28/Supercolliding-a-PHP-array.html para los tipos de problemas que pueden surgir al aceptar datos del cliente sin límites. –

+0

Es más fácil para las solicitudes GET, por ejemplo, puede crear un middleware que solo permita variables X como máximo en una solicitud GET. Ejemplo: al usar una expresión regular, determina cuántos símbolos 'y' están en la url de la solicitud. Si se excede el número máximo, se destruye la conexión. – alessioalex

+0

Esta respuesta está desactualizada e incorrecta ahora. –

Cuestiones relacionadas