@viewslos

Определить тип анонимности прокси?

Пробую писать функцию по данному вопросу:

private string Judge(string proxy, string html)
{
           var spproxy = proxy.Split(':')[0];
            var result = "false";
            var one0 = !string.IsNullOrWhiteSpace(remoteAddr) && remoteAddr == spproxy;
            var one1 = !string.IsNullOrWhiteSpace(httpXForwardedFor) && httpXForwardedFor == spproxy;
            var one2 = !string.IsNullOrWhiteSpace(httpProxyConnection) && httpProxyConnection == "Keep-Alive";
            var one3 = !string.IsNullOrWhiteSpace(httpXForwardedFor) && httpXForwardedFor == ip.Text;
            var one4 = !string.IsNullOrWhiteSpace(httpVia);
            var one5 = !string.IsNullOrWhiteSpace(remoteAddr) && !string.IsNullOrWhiteSpace(httpXForwardedFor) && httpXForwardedFor != remoteAddr;

            //REMOTE_ADDR = IP proxy
            //HTTP_VIA = IP или имя proxy(используется proxy сервер)
            // HTTP_X_FORWARDED_FOR = Ваш IP
            if (one0 && one1 && one2 && one3 && one4)
                 result = "Transparent";

            //REMOTE_ADDR = IP proxy
            //HTTP_VIA = IP или имя proxy(используется proxy сервер)
            // HTTP_X_FORWARDED_FOR = IP proxy
            if (one0 && one1 && one2 && one3 && !one4)
                   result = "Anonymous";
            //REMOTE_ADDR = IP proxy
            //HTTP_VIA = IP или имя proxy(используется proxy сервер)
            //HTTP_X_FORWARDED_FOR = случайный IP
            if (one0 && one1 && one2 && !one3 && !one4 && !one5)
                      result = "Distorting";
            // REMOTE_ADDR = IP proxy
            // HTTP_VIA = не определена
            // HTTP_X_FORWARDED_FOR = не определена
            if (one0 && one1 && one2 && !one3 && !one4 && !one5)
                 result = "Elite";

                return result;
}

Проблема в подборе правильных параметров в if. Может кто поможет ?
  • Вопрос задан
  • 105 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Sterk
Программист
Добрый день, я честно говоря не понял откуда и что идет в вашем алгоритме.
Когда я делал аналогичную задачу, я ее делал так:
- сделал сайт который возвращал JSON со всеми полями пришедшего запроса
- так же в JSON добавил статичный GUID
- делал запросы через прокси к своему сайту
- проверял наличие GUID, некоторые прокси возвращают вообще левый html
- проверял наличие своего IP в ответе. прямо string,contains. потому что мне все равно в каком из заголовков он может засветиться (если IP есть - Transparent)
- проверял наличие заголовков соответсвующих различным proxy (есть заголовки Anonymous)
- ничего из перечисленного - Elite

PS: ужасный код: one0, one1, one2, one3, one4, one5
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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