Request.IsLocal的替代方案是什么?

4
据我所知,Request.IsLocal 有两种情况会返回true。首先是请求发起者的IP地址为127.0.0.1,另外一种情况是请求的IP地址与服务器的IP地址相同。
我在一个页面上使用了这个函数,并经常被一个cron任务(使用绝对URL)调用。不幸的是,这个cron任务是在与页面相同的服务器上运行的,这意味着IsLocal总是返回true。
理想情况下,我需要一个函数,它仅当我在本地主机上时才返回true。在ASP.NET MVC环境中,我该如何实现这一点?

我不明白你所说的“我在本地主机上”的意思。cron作业正在本地主机上运行,对吧?所以IsLocal返回了正确的结果,是吗? - cirrus
@cirrus 这个cron job调用了http://mydomain.com/mypage。我希望它只在我使用http://localhost/mypage时返回true。 - Jonathan
1个回答

0
你可以查看MVC中的Request.Url属性,但至少需要检查127.0.0.1、localhost和::1。如果您只想请求访问,则还可以使用UrlRewrite进行很多操作。您没有说如果它返回true/false您想要做什么,但假设这是您想要做的事情之一,请查看UrlRewrite。这篇帖子中也有一些有用的信息; 如何仅将页面访问限制为localhost?

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接