WebClient客户端IP地址

时间:2011-07-13 22:35:02

标签: c# .net asp.net webclient ashx

我有一个从文件系统返回文件的通用处理程序(ashx)。此处理程序不在登录后面。但是,如果请求是通过WebClient对象从另一个.net应用程序内部发出的,我只需要返回该文件。 基本上,用户可以在一个框中键入ashx网址,然后点击一个可以安全传输文件的上传按钮。

在ashx文件中,如何确定请求是否来自“http://myapp.com/Upload.aspx”?
谢谢, 维吉尔

1 个答案:

答案 0 :(得分:2)

  

在ashx文件中,我如何确定请求是否来自" http://myapp.com/Upload.aspx"?

如果您的处理程序不需要任何身份验证,那么您绝对不能这样做。与编写WebClient以使用此处理程序的方式相同,任何人都可以。并且处理程序完全无法知道请求的来源(IP地址除外)。因此,除非您使此ASHX处理程序需要身份验证,否则您唯一的机会是通过IP地址限制调用方。在处理程序中,您可以检查Request.UserHostAddress是否与myapp.com的IP地址相对应。