Request.IsLocal 替代方案?

Posted

技术标签:

【中文标题】Request.IsLocal 替代方案?【英文标题】:Request.IsLocal alternative? 【发布时间】:2012-10-05 22:42:15 【问题描述】:

据我了解,Request.IsLocal 在两种情况下返回 true。如果请求发起者的 IP 地址是 127.0.0.1,或者请求的 IP 地址与服务器的 IP 地址相同。

我在一个由 cron 任务(使用绝对 URL)定期调用的页面上使用它。不幸的是,这个 cron 作业与页面在同一台服务器上运行,这意味着 IsLocal 总是返回 true。

理想情况下,如果我在本地主机上,我需要一个 just 返回 true 的函数。如何在 ASP.NET MVC 环境中执行此操作?

【问题讨论】:

我不理解你的意思,“我在本地主机上”。 cron 作业在 localhost 上运行,对吗?所以 IsLocal 正在返回正确的结果,不是吗? @cirrus cron 作业调用mydomain.com/mypage。如果我使用localhost/mypage,我希望它只返回true。 【参考方案1】:

您可以查看 MVC 中的 Request.Url 属性,但您至少需要检查 127.0.0.1、localhost 和 ::1。如果您只想请求访问权限,您还可以使用 UrlRewrite 做很多事情。如果它返回真/假,你不会说你想做什么,但假设这是你想做的事情之一,看看 UrlRewrite。这篇文章也有很多有用的信息;

How to limit page access only to localhost?

【讨论】:

以上是关于Request.IsLocal 替代方案?的主要内容,如果未能解决你的问题,请参考以下文章

性能工具MiniProfiler在Asp.Net WebForm跟踪EntityFramework

如果 ASP.NET 应用程序在本地运行,请在 Global.Asax - Application_Start 中查找

Miniprofiler在普通net项目中的使用

springMVC和spring上下文的关系

MPMediaItemArtwork init(image:) 在 iOS 10.0 中已弃用

NCS8823替代方案|NCS8823芯片替代方案|CS5260替代NCS8823方案电路