Обработка кодировки символов в URI на Tomcat

Агенты пользователя блока времени, которые выполняют столько запросов в минуту. Например, если у Вас есть кто-то запрашивающий страницу точно каждые 5 секунд в течение 10 минут, они - вероятно, не пользователь... Но это могло быть хитро для разбираний в этом.

, Если они инициировали предупреждение, перенаправьте каждый запрос к статической странице с как можно меньше DB-IO с сообщением, сообщающим им, на них позволят назад через X минут.

важно добавить, что необходимо, вероятно, только применить это на запросы на страницы и проигнорировать все запросы на медиа (js, изображения, и т.д.).

12
задан tonfa 25 August 2009 в 21:08
поделиться

1 ответ

К сожалению, кодировка UTF-8 является обязательной в спецификации URI , которая, кажется, предполагает, что исходный сервер будет генерировать все URL-адреса таким образом, чтобы они будет иметь значение для целевого сервера.

Я бы рассмотрел несколько приемов; все они включают самостоятельный анализ строки запроса (хотя вы, возможно, лучше меня знаете, влияет ли установка кодировки запроса на строку запроса для сопоставления параметров или только на тело).

Во-первых, проверьте строку запроса на наличие отдельных «старших байтов»: допустимая последовательность UTF-8 должна иметь два или более байта ( запись в Википедии имеет красивую таблицу допустимых и недопустимых байтов).

Менее надежным было бы искать заголовок «Accept-Charset» в запросе. Я не думаю, что этот заголовок обязателен Я посмотрел на спецификацию HTTP для проверки), и я знаю, что Firefox, по крайней мере, отправит полный список допустимых значений. Выбор первого значения в списке может сработать, а может и нет.

Наконец, проводили ли вы какой-либо анализ журналов, чтобы увидеть, будет ли конкретный пользовательский агент постоянно использовать эту кодировку?

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

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