2012-01-01 19 views
6

Dla bezpieczeństwa chciałbym ustawić maksymalną długość żądania w mojej aplikacji node.js. (Istnieje wiele luk w zabezpieczeniach, które wykorzystują serwery internetowe, umożliwiając nieograniczoną długość żądań).maksymalna długość żądań w pliku node.js

Czy to możliwe? Czy już istnieje?

+0

Możliwy duplikat [node.js HTTP GET Długość ograniczenie URL] (http://stackoverflow.com/questions/32763165/node-js-http-get-url-length-limitation) –

Odpowiedz

1

Zgaduję, że odnoszą się Państwo do danych, które klient może wysłać przez POST. Jeśli używasz Express, można użyć limit middleware do osiągnięcia tego celu: http://senchalabs.github.com/connect/middleware-limit.html

Krótka wersja tego, co się robi jest:

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

Mówię również o GET-na przykład, zobacz http://nikic.github.com/2011 /12/28/Supercolliding-a-PHP-array.html dla problemów, które mogą wynikać z akceptowania danych od klienta bez ograniczeń. –

+0

Łatwiej jest żądać GET, na przykład można utworzyć oprogramowanie pośrednie, które pozwala maksymalnie X zmiennych w żądaniu GET. Przykład: używając wyrażenia regularnego, określasz, ile symboli "&" znajduje się w adresie URL żądania. Jeśli maksymalna liczba zostanie przekroczona, zniszczysz połączenie. – alessioalex

+0

Ta odpowiedź jest teraz nieaktualna i niepoprawna. –

Powiązane problemy