使用TLS/SSL(HTTPS)加密时是否加密了所有URL?我想知道,因为我希望在使用TLS/SSL(HTTPS)时隐藏所有URL数据.
如果TLS/SSL为您提供全面的URL加密,那么我不必担心从URL隐藏机密信息.
我想使用RequireHttpsAttribute来防止将不安全的HTTP请求发送到操作方法.
C#
[RequireHttps] //apply to all actions in controller
public class SomeController
{
[RequireHttps] //apply to this action only
public ActionResult SomeAction()
{
...
}
}
Run Code Online (Sandbox Code Playgroud)
VB
<RequireHttps()> _
Public Class SomeController
<RequireHttps()> _
Public Function SomeAction() As ActionResult
...
End Function
End Class
Run Code Online (Sandbox Code Playgroud)
不幸的是,ASP.NET Development Server不支持HTTPS.
如何在发布到生产环境时使我的ASP.NET MVC应用程序使用RequireHttps,而不是在ASP.NET Development Server上的开发工作站上运行时?
有没有办法通过HTTPS访问Visual Studio的内置ASP.NET开发服务器?
我正在寻找使用System.UriBuilder更改给定System.Uri实例的方案的规范方法,而不需要糟糕的字符串操作和魔术常量.说我有
var uri = new Uri("http://localhost/hello")
Run Code Online (Sandbox Code Playgroud)
我需要将其更改为" https ".我的问题是在有限的UriBuilderctors和Uri.Port默认为80(我们应该将它改为443?硬编码?).代码必须遵守所有Uri属性,例如可能的基本身份验证凭据,查询字符串等.
我正在使用ASP.NET MVC 2并且有一个通过HTTPS保护的登录页面.为了确保用户始终通过SSL访问这些页面,我已将该属性添加[RequireHttps]到控制器.这完美地完成了这项工作.
当他们成功登录后,我想将它们重定向回HTTP版本.但是,没有[RequireHttp]属性,我正在努力探索如何实现这一目标.
增加的(潜在的)复杂性是生产中的网站托管在域的路由上,但是出于开发和测试的目的,它位于子目录/虚拟目录/应用程序中.
我是否过度思考这个问题并且有一个简单的解决方案让我盯着我?还是有点复杂?