我有一个iOS应用程序,它可以调用我托管在heroku上的python服务器。
我可以在服务器上观察到,当我形成一个NSURLRequest时,X-Forwarded-For头包含在传入的请求中。
但是,在iOS应用程序日志记录中,request.allHTTPHeaderFields只显示我显式添加到请求中的头部。它不包括X-Forwarded-For报头。
有没有人知道iOS是不是在发送请求之前附加了这个头,或者它是由我的ISP提供商或者heroku附加的,或者它是黑魔法?
从日志记录/调试的角度来看,我是否可以假设与X-Forwarded-For报头关联的ip地址代表唯一的用户?如果不是,我应该如何解释该ip地址?
注意-除了调试之外,我不会尝试使用这个头文件中的值,我已经读到了一些尝试使用它进行身份验证的危险,等等。
发布于 2015-02-21 06:22:16
这个头不是由iOS发送的,它是由Heroku和一些other headers添加的
通常,如果请求被代理(link),它将由web服务器添加。
在简单情况下,X-forwarded-for将包含客户端公共IP地址。如果请求在到达Heroku之前被代理,那么X-forwarded-for将包含一个逗号分隔的列表,第一个元素将是客户端公共IP地址,下一项是代理公共IP地址。
https://stackoverflow.com/questions/28639080
复制相似问题