我正在 ASP.NET 中的 MVC 框架上工作,我试图访问该应用程序,但我无法通过登录屏幕,之后它一直抛出未找到的 IIS 错误。解决方法后,我发现我的 httpCookies httpOnlyCookies="true"requireSSL="true"
在我的 web.config
文件中停止了访问。谁能帮我理解这里的问题和概念?
已经谢谢了。
仅删除 requireSSL 部分后,我能够访问该站点。
网络配置
httpCookies httpOnlyCookies="true" requireSSL="true"
Global.asax 的应用程序启动:
if (ServicePointManager.SecurityProtocol.HasFlag(SecurityProtocolType.Tls12) == false)
{
ServicePointManager.SecurityProtocol =
ServicePointManager.SecurityProtocol | SecurityProtocolType.Tls12;
}
我认为 global.asax
的 Application Start 中的部分代码可能是导致问题的原因,但我不确定。
最佳答案
网站使用 cookie 在页面请求或浏览 session 之间存储信息。
从外部提供商到您网站的回调包含安全 token ( httpCookies
),允许访问您的网站并包含用户信息。
如果有人设法窃取他人的网站身份验证 cookie,他可以执行他们能够执行的所有操作。
通过 HTTPS 传输此信息以防止在此信息通过 Internet 传输时被拦截
您可以通过添加一个简单的标志来停止脚本访问您站点中的所有 cookie:HttpOnly。你可以设置 这个flag在web.config中,如下:
<httpCookies domain="" httpOnlyCookies="true" requireSSL="false" />
所以如果你写requireSSL="true"
在你的Web.config
它强制外部提供商使用 HTTPS
对您的站点进行回调仅。
@Vishesh Pandita 在您的情况下,您正尝试仅使用 HTTP 访问站点。因此遇到“HTTP 错误 403 - 403.4 禁止访问:需要 SSL”错误。这意味着您尝试访问的页面已使用安全套接字层 (SSL) 进行保护。
解决方法: 要查看该页面,您必须通过在您尝试访问的地址开头键入“https://”而不是“http://”来启用 SSL(安全套接字层)。 “https”中的“s”指定安全站点。
关于asp.net-mvc - 为什么 "requireSSL=' true'"抛出 IIS 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56161097/