Request.IsLocal

abe*_*end 16 c# asp.net request

这个属性是可欺骗的,还是100%值得信赖的?

我想确定一个请求只来自我的盒子.我必须添加这句话,因为我不能提出简单的问题.

小智 23

除非有人操纵你的TCP堆栈,否则它是完全可信的.

它基本上是对来自IIS层的网络堆栈的分析,关于请求是否来自本地 - 最有可能是来自127.0.0.x地址(是的,localhost是当时整个C网络,而不仅仅是127.0.0.1 ).

无法与假源建立TCp连接,因此可以信任此数据.

http://forums.asp.net/t/1065813.aspx/1

表示通过反编译检查127.0.0.1和:: 1 - 两者都是常见的本地主机地址.

再说一遍,除非你操纵网络堆栈或.net框架类,否则这完全不可伪造.

  • 作为进一步的解释:它不能伪造,因为它需要建立的连接,需要 - 握手(请求,响应,然后数据).您可以在途中伪造它,但如果您选择不同的路由IP地址,则响应将转到错误的主机,因此无法发送任何数据. (3认同)