ISAPI扩展

问题描述 投票:0回答:1

我正在使用VS 2017和常规C在Windows 10上编写ISAPI扩展。

它工作得很好,但现在我遇到了错误处理问题。我故意遇到错误,以确保错误消息是正确的。当客户端应用程序(不是浏览器)和IIS在同一台机器上时,我得到了我预期的错误消息。当我连接到另一台PC上的副本时,我获得了500个状态的IIS通用html。

这是我生成标题的地方:

// Send HTTP headers
SendHttpHeaders(pECB, "500 Internal Server Error", "Content-Type: text/plain\r\n\r\n");

SendHttpHeaders是我发送标头的包装函数。我

以下是最后两行代码:

pECB->dwHttpStatusCode = HTTP_STATUS_SERVER_ERROR;
return HSE_STATUS_ERROR;

为什么我没有收到我的自定义消息?

c iis isapi
1个回答
1
投票

除非另外配置IIS,否则detailed error messages are only shown to browsers connecting from localhost

虽然链接的帖子描述了如何控制此行为,但请注意,此阻止旨在作为安全功能,并且(如他们所述)取决于您的站点实现,这可以在触发错误条件时将内部详细信息公开给公共视图(即你不期望利用这种行为,例如从一个bug)。这可能是也可能不是安全问题,具体取决于您的运营环境(例如,公共互联网与企业内部网),数据敏感性等。

© www.soinside.com 2019 - 2024. All rights reserved.