Vete a la documentación de CGI, a la sección
Avoiding Denial of Service Attacks.
Allí, verás que se puede limitar el tamaño de lo recibido poniendo, de forma local en tu script o de forma global en CGI.pm, el valor de la variable
$CGI::POST_MAX.
Comenta que si el usuario intenta enviar un mensaje superior, param() devolverá una lista de parámetros vacía.
Pone como ejemplo el código
Using perl Syntax Highlighting
$uploaded_file = param
(’upload’
);
if (!$uploaded_file && cgi_error
()) {
print header
(-status
=>cgi_error
());
exit 0;
}Coloreado en 0.003 segundos, usando
GeSHi 1.0.8.4
pero recomienda que se le devuelva al usuario una página html de error.