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

Javascript 如何在反向代理模式下编程Fiddler以限制IP范围?,javascript,http,ip,fiddler,reverse-proxy,Javascript,Http,Ip,Fiddler,Reverse Proxy,我已经在8888端口上使用它的。现在我想限制可以访问反向代理作为安全措施的IP范围 是否可以只使用Fiddler规则文件而不需要配置防火墙或Fiddler编程之外的任何东西来完成此操作 规则>自定义规则。滚动至OnBeforeRequest 在那里,您可以使用属性oSession[“X-CLIENTIP”]获取客户端的IP地址,如果您对该值不满意,可以执行类似于oSession.oRequest.FailSession的操作(403,“拒绝代理访问”,“不允许您使用此站点”) 按问题作者更新

我已经在8888端口上使用它的。现在我想限制可以访问反向代理作为安全措施的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.168100.139<代码>或<代码>::FFFF:192.168100.139这一点,程序员可能考虑使用类似于此的正则表达式测试,它与Ip的任何一个化身匹配:


太好了,它就像一个符咒。我已将我的实际脚本附加到您的答案中,以供将来参考-它可能会帮助其他人。查看X-CLIENTIP向Fiddler报告的内容的一个快速方法是将此语句作为规则文件
oSession.oRequest.FailSession(403,“拒绝代理访问”,oSession[“X-CLIENTIP”])的OnBeforeRequest函数的第一个语句没有任何条件使其始终失败并打印值,然后使用任何web浏览器点击代理。完成后将其删除或注释掉。在Fiddler中可能有不同的方法来查看此值,但我没有找到它。右键单击会话并选择“属性”,可以查看X-ClientIP标志和所有其他标志。(或选择一个并按ALT+ENTER)。
/^(?:\:\:ffff\:)?192\.168\..+/.test(oSession["X-CLIENTIP"])