Как я могу ограничить размер HTTP запросы POST в mod_perl?

Для нас - базирующиеся адресные сведения моя компания использовала GeoStan. Это имеет привязку для C и Java (и мы создали привязку Perl). Обратите внимание, что это - коммерческий продукт и не дешево. Это довольно быстро, хотя (~300 адресов в секунду) и предлагает функции как сертификация CASS (скидка массовой рассылки USPS), DPV (Проверка пункта доставки) установка флага и геокодирование LON/LAT.

существует модуль Perl Гео-:: PostalAddress, но это использует эвристику и не упомянуло другие функции для GeoStan.

Редактирование: некоторые упомянули, 'что делали его самостоятельно', если Вы действительно решаете сделать это, хороший источник информации для запуска с американский Набор данных переписи Тигра , который содержит большую информацию о США включая адресную информацию.

8
задан brian d foy 11 December 2009 в 23:32
поделиться

2 ответа

Изучали ли вы возможности ограничения Apache (в отличие от Perl)? Я не знаю в деталях, как директива LimitRequestBody справляется со слишком большими запросами, но по крайней мере теоретически это похоже на настройку, предназначенную для блокирования атак.

7
ответ дан 5 December 2019 в 19:00
поделиться

Да, не имеет значения, что Perl делает с STDIN или STDOUT , Apache все равно разрешит загрузку, прежде чем он даже проверит, что происходит с вашим CGI. Вы можете закрыть STDIN или STDOUT или даже exit () (хотя вы не можете этого сделать, поскольку ваш процесс постоянный), но ни один из них не будет любое действие до после Apache не завершит принятие запроса POST полностью. Точно так же с любыми типами заголовков состояния, которые вы можете сгенерировать, например 413 для «Запрос слишком большой».

Следовательно, вам необходимо, чтобы Apache отклонял запросы POST сверх определенного размера, чтобы это работало, например, используя LimitRequestBody как , предложенный Пеккой .

2
ответ дан 5 December 2019 в 19:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: