2011-01-26 49 views
4

我有一个传统的ASP页面,向我的ASP.net(c#)页面“doSomething.ashx”发出一个XMLHTTP请求。它们都托管在同一台服务器上。保证请求来自本地服务器

如何保证请求来自本地服务器,阻止恶意用户访问doSomething.ashx页面并发出错误的请求?

编辑:

愚蠢的我忘记了我+ PW通过传递用户名,但将:

HttpContext.Current.Request.IsLocal 

工作一样好?或者这可能会受创意黑客的困扰?

+1

你有没有想过加入一些认证请求的?通过HTTP或在您的请求中使用uid/pwd组合? – Lazarus 2011-01-26 12:03:10

+0

谢谢!这将工作 – 2011-01-26 12:06:36

回答

1

很简单,您验证请求。

+0

请问HttpContext.Current.Request.IsLocal的工作? – 2011-01-26 12:06:18

2

您需要添加一些对该请求/会话唯一的令牌。 如果只是通过身份验证,您可以保证它来自具有详细信息的人,但仍可以从该用户“伪造”。

您可以检查所有“已知”标记的过期时间,也可以使用基于会话的系统并检查它在请求处理程序中是否有效。

如果只使用标记。您需要在发出发出请求的页面时在服务器上生成它们,然后在处理请求本身时进行检查。

相关问题