首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我是否可以信任从ServerVariables["REMOTE_ADDR"]返回的值

我是否可以信任从ServerVariables["REMOTE_ADDR"]返回的值
EN

Stack Overflow用户
提问于 2013-03-21 15:57:30
回答 2查看 238关注 0票数 4

我有一个IIS托管的ASP.NET WebAPI应用程序,im使用ServerVariables["REMOTE_ADDR"]获取客户端地址并识别用户:客户端登录后,我将生成一个包含客户端IP的cookie。在随后的调用中,我将从cookie中获取IP,并验证它是否正确。

我可以信任这个地址吗,或者有没有一种方式可以让ServerVariables["REMOTE_ADDR"]返回,比如161.121.222.223,而客户端真的在其他地方?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-21 16:05:49

是的,它很安全。它是TCP连接的源IP,不能通过更改HTTP标头来替换。

您可能需要担心的一种情况是,如果您在反向代理之后,在这种情况下,REMOTE_ADDR将始终是代理服务器的IP,而用户IP将在HTTP头中提供(例如X-Forwarded-For)。但是对于正常的用例来说,阅读REMOTE_ADDR就可以了。

摘自:Is it safe to trust $_SERVER['REMOTE_ADDR']?

票数 3
EN

Stack Overflow用户

发布于 2013-03-21 16:02:44

是的,它是可靠的。客户端不能修改它,除非简单地从另一个IP连接。(代理)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15542119

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档