2010-06-21 97 views
2

从http到https切换简单(用户+密码)登录表单时应该考虑什么? 使用https与http相比有什么区别吗?https登录表单

从我所知道的浏览器不会通过https缓存内容服务器,所以页面加载可能会更慢,但其他的我对此一无所知。

任何人都有这方面的经验吗?

回答

5

不要在同一站点上混合使用安全和非安全的内容,否则浏览器会显示恼人的警告。

此外,当用户使用https时,将cookies设置为仅限https,以便它们永远不会通过http连接发送。

5

切换到https时,请考虑所有网络资产(图片,js,css)必须来自https域,否则您的用户将收到有关数据不安全传输的警告。如果您有任何硬编码的网址,则需要将其动态更改为https。

+1

是的,同样适用于某些类型的重定向的外部链接。 – eugeneK 2010-06-21 07:34:07

0

安全层是在网络服务器(例如Apache)中实现的,而您的登录是在业务逻辑(您的应用程序)上实现的。

使用http或https的业务逻辑没有什么区别,在您收到请求的时候,它将会是相同的,因为您会收到解密的消息。网络服务器为你做了肮脏的工作。

正如你所说,它可能会慢一点,因为Web服务器必须加密/解密请求。根据Ben的说法,所有的资源都必须来自安全域,否则一些浏览器会带来令人讨厌的警告(如IE)。

+0

将Cookie设置为仅限https的操作由“业务层”完成,而不是通过网络服务器完成... – ThiefMaster 2010-06-21 07:33:39

1

我想补充一点,你应该更喜欢通过邮寄发送您的网址参数,而不是得到,否则你可能会离开私人数据遍布在日志文件,浏览器窗口的地方,等

0

从我知道浏览器将无法通过HTTPS缓存内容服务器

只要你发送的报头的高速缓存指令,则客户端仍然应该缓存内容(MSIE确实有隐藏起来,以禁用缓存HTTPS开关 - 但它的默认值启用缓存,Firefox可能具有类似的功能)。

页面打开所花费的时间会更长 - 而且由于SSL握手的额外开销会影响网络延迟(一旦加密已经协商,开销并不那么大,但取决于您的Web服务器以及它的配置如何,你可能无法使用MSIE的KeepAlives)。

当然,你的PHP代码没有什么区别。

C.