我已将 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/