Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Url 无效URI:无法通过自定义重写IHttpModule解析主机名_Url_Url Rewriting_Hostname_Ihttpmodule - Fatal编程技术网

Url 无效URI:无法通过自定义重写IHttpModule解析主机名

Url 无效URI:无法通过自定义重写IHttpModule解析主机名,url,url-rewriting,hostname,ihttpmodule,Url,Url Rewriting,Hostname,Ihttpmodule,这是我们在网站上偶尔看到的一个奇怪错误 这个错误的奇怪之处在于它被抛出到我们的URL重写IHttpModule中。这条线是: var host = context.Request.Url.Host; 如果在抛出此异常时记录context.Request.Url,则它是一个空字符串 此重写方法仅通过我们的global.asax文件调用: void Context_AuthorizeRequest(object sender, EventArgs e) => URLRewritin

这是我们在网站上偶尔看到的一个奇怪错误

这个错误的奇怪之处在于它被抛出到我们的URL重写IHttpModule中。这条线是:

var host = context.Request.Url.Host;
如果在抛出此异常时记录
context.Request.Url
,则它是一个空字符串

此重写方法仅通过我们的
global.asax
文件调用:

void Context_AuthorizeRequest(object sender, EventArgs e)
     => URLRewriting.Process();
什么可能导致
Request.Url.Host
为空

作为补充说明,我们在网站上发现了许多其他错误,这表明有人正在使用自动化工具扫描我们的网站,以发现弱点和漏洞。我有一种感觉,这可能在某种程度上是相关的,尽管我不清楚为什么
Request.Url.Host
会是空的


第二,最后一个请求的用户IP是一个大学网络(对于我们的网站来说并不罕见)。

我将重点关注
context.request.Url
是空的这一事实

您是否有任何其他
IHttpModule
s对管道中前面的
HttpContext
执行某些操作

是否可能存在相对HTTP请求,如所述


当主机和URL为空时,您是否了解有关请求的更多信息?

是否是重写模块无法映射的无效URL? 根据,如果重写映射没有映射请求的规则,那么默认情况下将得到一个空字符串


如果您捕获了导致错误的原始请求,您可能能够复制它并逐步通过代码验证此理论。

整个解决方案(重写器)中只有一个
IHttpModule
。我将尝试添加更多日志记录。