确保仅通过SSL访问页面

Col*_*tes 6 c# asp.net ssl

如何确保我的用户无法在物理上键入http:绕过我的SSL并确保每个页面都是https:?

可能是我母版页上的重定向?

Jos*_*ola 9

这通常通过IIS配置或ISAPI过滤器来处理,但是如果你想在应用程序代码中执行它,你可以在主页的Page_Init事件中添加这样的东西......

If Not Request.IsSecure
    Response.Redirect(Request.Url.AbsoluteUri.Replace("http://", "https://"))
End If
Run Code Online (Sandbox Code Playgroud)

  • 不是最好的想法.您正在将客户端重定向回到调用页面.如果由于某种原因没有SSL(没有证书或不良证书),你将进入递归循环.更好的选择是重定向到错误页面,因为用户不应该进入安全的站点/页面,除非代码不正确或者他们正在弄乱URL. (2认同)