如何在反向代理模式下对 Fiddler 进行编程以限制 IP 范围?

发布于 2024-11-19 06:36:58 字数 309 浏览 2 评论 0原文

我已将 Fiddler 配置为端口 8888 上的反向代理(转发到 80 )使用其规则文件。现在我想限制可以访问反向代理的IP范围作为安全措施。

是否可以仅使用 Fiddler 规则文件来完成此操作,而无需配置防火墙或 Fiddler 编程之外的任何内容?

I've configured Fiddler as a reverse proxy on port 8888 (to forward to 80) using its rules file. Now I want to restrict the IP range that can access the reverse proxy as a security measure.

Is it possible to do this using only the Fiddler rules file without needing to configure the firewall or anything external to the Fiddler programming?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

椒妓 2024-11-26 06:36:58

规则>自定义规则。滚动到 OnBeforeRequest。

在那里,您可以使用属性 oSession["X-CLIENTIP"] 获取客户端的 IP 地址,如果您对该值不满意,请执行 oSession.oRequest.FailSession 之类的操作(403,“代理访问被拒绝”,“您无权使用此站点。”);


由问题作者更新

使用的示例脚本:

// 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"])

Rules > Customize Rules. Scroll to OnBeforeRequest.

There, you can get the client's IP address using the property oSession["X-CLIENTIP"], and if you're not satisfied with the value, do something like oSession.oRequest.FailSession(403, "Proxy access denied", "You are not permitted to use this site.");


Update by question author

Sample script used:

// 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;
}

Also note that IPv6 might throw a monkey wrench into things because X-CLIENTIP can be
192.168.100.139 or ::ffff:192.168.100.139 At this point the programmer might consider using regex tests like this one that matches either incarnation of the IP#:

/^(?:\:\:ffff\:)?192\.168\..+/.test(oSession["X-CLIENTIP"])
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文