开发安全之:Cookie Security: Cookie not Sent Over SSL

Overview

程序创建了 Cookie,但未将 Secure 标记设置为 true

Details

现今的 Web 浏览器支持每个 cookie 的 Secure 标记。如果设置了该标记,那么浏览器只会通过 HTTPS 发送 cookie。通过未加密的通道发送 cookie 将使其受到网络截取攻击,因此安全标记有助于保护 cookie 值的保密性。如果 cookie 包含私人数据或带有会话标识符,那么该标记尤其重要。

示例 1:以下代码会在未设置 Secure 标记的情况下将 cookie 添加到响应中。 ... setcookie("emailCookie", $email, 0, "/", "www.example.com"); ... 如果应用程序同时使用 HTTPS 和 HTTP,但没有设置 Secure 标记,那么在 HTTPS 请求过程中发送的 cookie 也会在随后的 HTTP 请求过程中被发送。攻击者随后可截取未加密的网络信息流(通过无线网络时十分容易),从而危及 cookie 安全。

Recommendations

对所有新 cookie 设置 Secure 标记,指示浏览器不要以明文形式发送这些 cookie。通过将 true 作为第六个参数传递给 setcookie(),便可完成此配置。

示例 2:以下代码会通过将 Secure 标记设置为 true 来更正Example 1 中的错误。 setcookie("emailCookie", $email, 0, "/", "www.example.com", TRUE);

你可能感兴趣的:(安全,ssl,数据库)