2012-01-01 3 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. Если вы используете Express, вы можете использовать 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 для тех проблем, которые могут возникнуть при принятии данных от клиента без ограничений. –

+0

Это проще для запросов GET, например, вы можете создать промежуточное программное обеспечение, которое разрешает только X-переменные в запросе GET. Пример. Используя регулярное выражение, вы определяете, сколько символов «&» находится в URL-адресе запроса. Если максимальное количество превышено, вы уничтожаете соединение. – alessioalex

+0

Этот ответ уже устарел и некорректен. –

Смежные вопросы