Request.IsLocal

时间:2011-08-22 14:15:01

标签: c# asp.net request

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

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

2 个答案:

答案 0 :(得分: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框架类,否则这完全不可伪造。

答案 1 :(得分:0)

本来是因为它依赖IP,但是在Azure上对我不起作用。因此,回答您的问题不是100%,不是。