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

标签 javascript http ip fiddler reverse-proxy

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

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

最佳答案

规则 > 自定义规则。滚动到 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"])

关于javascript - 如何在反向代理模式下对 Fiddler 进行编程以限制 IP 范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6618314/

相关文章:

javascript - 浏览器中动画帧的任务

javascript - RaphaelJS - 获取所有元素

apache http 到 https 将您重定向了太多次

angular - 如何将搜索参数传递给 URL?

amazon-web-services - 在 EC2 EBS 实例中更改 Cloudera 的 IP 地址

Javascript - getElementById 并帮助我

javascript - 保护 CORS : is there a security scheme with cookies?

http - HTTP DELETE 请求是否允许实体主体?

node.js - 如何在 Node 中确定用户的IP地址

c - URL 名称解析未按预期运行