Как запрограммировать Fiddler для ограничения диапазона IP-адресов в режиме обратного прокси? - PullRequest
0 голосов
/ 08 июля 2011

Я настроил Fiddler как обратный прокси на порт 8888 (для пересылки на 80), используя его файл правил .Теперь я хочу ограничить диапазон IP-адресов, которые могут использовать обратный прокси-сервер в качестве меры безопасности.

Можно ли сделать это, используя только файл правил Fiddler, без необходимости настройки брандмауэра или чего-либо внешнего для программирования Fiddler?

1 Ответ

2 голосов
/ 08 июля 2011

Правила> Настройка правил. Выделите OnBeforeRequest.

Там вы можете получить IP-адрес клиента, используя свойство oSession["X-CLIENTIP"], и если вы не удовлетворены значением, сделайте что-то вроде oSession.oRequest.FailSession(403, "Proxy access denied", "You are not permitted to use this site.");


Обновление по автору вопроса

Пример используемого скрипта:

// restrict usage to IPs and ranges
if (oSession["X-CLIENTIP"].indexOf(/*My Business, modify to your IP range>*/"0.0.0.") != 0 
    && 
    oSession["X-CLIENTIP"].indexOf(/*private*/"192.168.") != 0  
    &&
    oSession["X-CLIENTIP"].indexOf(/*localhost*/"127.0.0.") != 0 
    && 
    oSession["X-CLIENTIP"].indexOf(/*private*/"10.") != 0 
    ) {

    oSession.oRequest.FailSession(403, "Proxy access denied", "Your IP# is not permitted to use this Fiddler debugger.");

    return;
}

Также обратите внимание, что IPv6 может привести к неожиданным последствиям, потому что X-CLIENTIP может быть 192.168.100.139 или ::ffff:192.168.100.139 На этом этапе программист может рассмотреть возможность использования таких тестов регулярных выражений, как этот, который соответствует любому из воплощений IP #:

/^(?:\:\:ffff\:)?192\.168\..+/.test(oSession["X-CLIENTIP"])
...