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

Overview

程序创建了 Cookie,但未将 <code>Secure</code> 标记设置为 <code>true</code>。

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);

相关推荐
娇娇yyyyyy6 分钟前
QT编程(20): Qt QListWidget QTreeWidget介绍
数据库·qt·microsoft
阿里云瑶池数据库8 分钟前
阿里云瑶池数据库KVCache亮相NVIDIA GTC 2026
数据库·阿里云
橙子家16 分钟前
行式存储(Row-based Storage)和列式存储(Column-base Storage)简介
数据库
l1t8 小时前
DeepSeek总结的 pg_regresql插件:真正可移植的 PostgreSQL 统计信息
数据库·postgresql
oradh9 小时前
Oracle 11.2.0.1版本升级至11.2.0.4_单机环境
数据库·oracle·oracle11g·oracle升级
l1t9 小时前
用docker安装测试crate数据库
数据库·docker·容器·cratedb
anzhxu9 小时前
QT数据库(三):QSqlQuery使用
数据库·qt·oracle
身如柳絮随风扬9 小时前
MySQL核心知识
数据库·mysql
德彪稳坐倒骑驴9 小时前
Oracle 11g安装
数据库·oracle
韩立学长9 小时前
Springboot校园跑腿业务系统0b7amk02(程序、源码、数据库、调试部署方案及开发环境)系统界面展示及获取方式置于文档末尾,可供参考。
数据库·spring boot·后端