У меня есть сервер WS2008 x64, который имеет приложение NodeJS, работающее над его 80 портами. Сервер постоянно получает запросы от различных IP-адресов, которые пытаются использовать мое приложение в качестве прокси. NodeJS (работающий с модулем Экспресса) отвечает с 404 ошибками, но перестал работать во время инициализации сессии (использующий модуль Everyauth).
Так, у меня есть splitted проблема в двух частях:
Я должен найти путь, как моделировать запросы от взломщиков;
Узнайте, почему эти запросы обрабатываются неправильным способом (этот, я спрошу на другом форуме),
Вот типичный запрос от взломщика:
GET http://www.baidu.com/ HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)
Content-Type: application/x-www-form-urlencoded
Accept: */*
Referer: http://www.baidu.com/
Host: www.baidu.com
Accept-Encoding: gzip, deflate
Proxy-Connection: Keep-Alive
Я попытался воссоздать его с ЗАВИХРЕНИЕМ (замена www.baidu.com с IP-адресом моего сервера в хостах)
curl -H "Host: www.baidu.com" -H "Referer: http://www.baidu.com" -H "Accept-Encoding: gzip, deflate" -H "Proxy-Connection: keep-alive" -H "User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)" -H "Content-Type: application/x-www-form-urlencoded" -v -X GET http://www.baidu.com/
, но это обрабатывается как
GET / HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)
Content-Type: application/x-www-form-urlencoded
Accept: */*
Referer: http://www.baidu.com
Host: www.baidu.com
Accept-Encoding: gzip, deflate
Proxy-Connection: Keep-Alive
Так, мой вопрос - как я помещаю http://www.baidu.com вместо / (НАКЛОННАЯ ЧЕРТА) в, ПОЛУЧАЮТ запрос?
Итак, мой вопрос - как мне поместить http://www.baidu.com вместо / (SLASH) в запрос GET?
Запрос, который вы хотите получить, не плохой, а просто прокси-запрос. Для его создания просто укажите целевой хост в качестве прокси. Кроме того, curl может быть неподходящим инструментом для создания действительно плохих запросов.