我正准备在我的主机上安装一个SSL cert
。
这是我的理解(如果我错了,请纠正我…):
Http
或Https
上浏览我的网站(没有什么可以阻止我继续使用Http)?Https
(例如,少量添加[RequiresHttps]
属性)。<代码>G210
为了确保正确地使用SSL
,我是否需要担心对这些东西做一些额外的事情?我不确定我是否需要改变一些与逻辑有关的东西:
此外,我计划只在购物车,结帐,登录,帐户和管理页面上添加[RequiresHttps]
。我希望把我的产品浏览/购物页面留在Http
上,因为我听说使用Https
有更多的开销。这是正常/可接受/正常的吗?
还有一个问题。我知道ASP.NET以Auth cookie的形式存储一些登录信息。用户可以在Https
页面中登录,但是可以返回并在Http
页面中浏览吗?我想知道这是否会造成安全漏洞,因为用户再次登录并在Http
中浏览。这会破坏使用SSL
的意义吗?
我是个新手...因此,我们将非常感谢您的帮助。
发布于 2012-03-06 18:27:38
从你的问题开始,首先,(1) yes nothing将阻止你在中使用同一页的http ether https。
和(2)是你需要添加你的逻辑在什么页面将只显示为https和什么作为http。如果有人想知道,为什么不全部显示为https,原因是速度,当你发送它们为https时,页面更大,编码/解码需要更多一点,所以如果你不需要https,只需将其切换为http。
Switching Between HTTP and HTTPS Automatically是一个非常好的代码,用于快速和简单地实现开关逻辑。
曲奇饼
当cookie与用户的凭据有关时,您需要强制仅使用安全页面进行传输。这意味着,如果你用https设置一个cookie,这个cookie不会在不安全的页面上传输,所以保持安全,中间的人不能窃取它。这里的提示是,这个cookie不能在http页面上读取-所以您可以知道用户在安全页面上是A,还是B。
购物车-产品
是的,这是正常的:将产品和购物车留在不安全的连接上,因为信息并不那么特殊。当你访问用户真实数据时,你会打开https页面,比如姓名、电子邮件、地址等。
身份验证cookie
如果将其设置为secure only,则此cookies不会显示/读取/存在于不安全页面。如果你不保证它的安全,那就是一个问题。
Response.Cookies[s].Secure = true;
再说几句话
我们对安全和非安全页面所做的是,我们实际上将用户数据分成两部分。一个是安全的,另一个是不安全的。所以我们实际上使用了两个cookie,一个是安全的,另一个是不安全的。
例如,不安全的cookie是连接购物车上的所有产品的cookie,或者可能是用户的历史记录(产品看到的内容)这也是我们实际上并不关心是否有人得到它,因为即使是代理也可以从url看到用户历史或用户看到的内容。
安全cookie是一种身份验证,它为用户保留了一些关键信息。因此,不安全的cookie在页面上的任何地方都与用户一起存在,安全cookie仅在结帐时、登录时等。
相关
MSDN, How To: Protect Forms Authentication in ASP.NET 2.0
Setting up SSL page only on login page
Can some hacker steal the cookie from a user and login with that name on a web site?
发布于 2012-03-06 18:26:09
1)是的,你是对的。
2)可以。您可以选择更优雅地处理HTTP 403.4代码(需要SSL),方法是自动将客户端重定向到页面的HTTPS版本。
至于身份验证cookies,我已经为你找到了这个MSDN article。基本上,您可以将您的网站(和客户端浏览器)设置为仅通过HTTPS传输身份验证cookie。这样它就不会受到未加密通道上的网络侦听的影响。
当然,只有当您的所有[Authorize]
操作都是纯HTTPS时,这才是可能的。
https://stackoverflow.com/questions/9581582
复制相似问题