Агенты пользователя блока времени, которые выполняют столько запросов в минуту. Например, если у Вас есть кто-то запрашивающий страницу точно каждые 5 секунд в течение 10 минут, они - вероятно, не пользователь... Но это могло быть хитро для разбираний в этом.
, Если они инициировали предупреждение, перенаправьте каждый запрос к статической странице с как можно меньше DB-IO с сообщением, сообщающим им, на них позволят назад через X минут.
важно добавить, что необходимо, вероятно, только применить это на запросы на страницы и проигнорировать все запросы на медиа (js, изображения, и т.д.).
К сожалению, кодировка UTF-8 является обязательной в спецификации URI , которая, кажется, предполагает, что исходный сервер будет генерировать все URL-адреса таким образом, чтобы они будет иметь значение для целевого сервера.
Я бы рассмотрел несколько приемов; все они включают самостоятельный анализ строки запроса (хотя вы, возможно, лучше меня знаете, влияет ли установка кодировки запроса на строку запроса для сопоставления параметров или только на тело).
Во-первых, проверьте строку запроса на наличие отдельных «старших байтов»: допустимая последовательность UTF-8 должна иметь два или более байта ( запись в Википедии имеет красивую таблицу допустимых и недопустимых байтов).
Менее надежным было бы искать заголовок «Accept-Charset» в запросе. Я не думаю, что этот заголовок обязателен Я посмотрел на спецификацию HTTP для проверки), и я знаю, что Firefox, по крайней мере, отправит полный список допустимых значений. Выбор первого значения в списке может сработать, а может и нет.
Наконец, проводили ли вы какой-либо анализ журналов, чтобы увидеть, будет ли конкретный пользовательский агент постоянно использовать эту кодировку?