关于https/SecureSocket层连接,PHP开发人员需要了解什么?
我几乎不知道https连接的方式和原因。显然,当我传输安全数据(如密码或信用卡信息)时,https是一个关键工具。但是我需要知道什么呢?当开发人员在他们的项目中实现它时,您看到的最常见的错误是什么?有时候https只是个坏主意吗?谢谢 确保在HTTPS页面上时,页面上的所有元素都来自HTTPS地址。这意味着元素应该具有相对路径(例如“/images/banner.jpg”),以便继承协议,或者您需要在每个页面上进行检查以找到协议,并将其用于所有元素 注意:这包括所有外部资源(如谷歌分析javascript文件) 我能想到的唯一不利的一面是,它增加了浏览器和服务器的处理时间(几乎可以忽略不计)。我建议只加密需要加密的传输。我建议在数据库中存储任何用户数据并进行通信时,使用https。即使用户数据是平凡的,也要考虑这一要求,因为即使是许多平凡的细节也被用户用来在其他网站上识别自己。想想你银行问你的所有随机安全问题(比如你住的是哪条街?)这可以很容易地从地址字段中获取。在这种情况下,数据并不是您所考虑的密码,但也可能是这样。此外,您永远无法预测哪些用户数据将用于其他地方的安全问题。你也可以期待,在普通网络用户(比如你的祖母)的智慧下,这些信息可能会在其他地方构成该用户密码的一部分 如果使用https,则为一个指针 如果用户输入 它们将自动重定向到 (个人恼怒)关于https/SecureSocket层连接,PHP开发人员需要了解什么?,php,security,ssl,https,Php,Security,Ssl,Https,我几乎不知道https连接的方式和原因。显然,当我传输安全数据(如密码或信用卡信息)时,https是一个关键工具。但是我需要知道什么呢?当开发人员在他们的项目中实现它时,您看到的最常见的错误是什么?有时候https只是个坏主意吗?谢谢 确保在HTTPS页面上时,页面上的所有元素都来自HTTPS地址。这意味着元素应该具有相对路径(例如“/images/banner.jpg”),以便继承协议,或者您需要在每个页面上进行检查以找到协议,并将其用于所有元素 注意:这包括所有外部资源(如谷歌分析javas
然而,如果你只是在做一个普通的html网页,那基本上就是从服务器到用户的单向信息传输,不用担心 我想说,在使用启用SSL的站点时,最常见的错误是
HTTPS或安全套接字层(SSL)证书是为站点提供的,通常由证书颁发机构(CA)签署,CA实际上是一个可信任的第三方,它可以验证站点的一些基本详细信息,并对其进行认证以供在浏览器中使用。如果您的浏览器信任CA,则它信任由该CA签名的任何证书(这称为信任链) 每个HTTP(或HTTPS)请求由两部分组成:一个请求和一个响应。当您通过HTTPS请求某些内容时,实际上会在后台发生一些事情:
- 客户端(浏览器)进行“握手”,请求服务器的公钥和标识。
- 此时,浏览器可以检查有效性(站点名称是否匹配?日期范围是否当前?是否由其信任的CA签名?)。它甚至可以联系CA并确保证书有效李>
- 客户端创建一个新的预主密钥,该密钥使用服务器的公钥加密(因此只有服务器可以解密)并发送到服务器
- 服务器和客户端都使用此预主密钥生成主密钥,然后用于为实际数据交换创建对称会话密钥
- 双方都发出信息说他们已经握手完毕
- 然后服务器正常处理请求,然后使用会话密钥加密响应