前言


这几天中,一直再跟漏洞打交道,而在这些漏洞中,出现的最多的就是 Cookie 和 Session 了。这篇文章就简单的介绍一些 Cookie 中最经常使用的四个属性。也算是为兴许的文章做一个铺垫吧。

废话不多说,直接进入正题。



属性


  • Path(路径)

Path 是指定与 Cookie 关联的 Web 页。它的值能够是一个文件夹,或者是一个路径。

假设 http://www.china.com/test/index.html 建立了一个
cookie,那么在 http://www.china.com/test/ 文件夹里的全部页面,以及该文件夹以下不论什么子文件夹里的页面都能够訪问这个 cookie 。

这就是说,在 http://www.china.com/test/test2/test3 里的不论什么页面都能够訪问 http://www.china.com/test/index.html 建立的
cookie 。

可是,假设 http://www.china.com/test/ 须要訪问 http://www.china.com/test/index.html 设置的
cookies。该怎么办?
这时。我们要把 cookies 的 path 属性设置成“/”。

在指定路径的时候,凡是来自同一server。URL 里有同样路径的全部 WEB 页面都能够共享 cookies 。



  • Domain(域)

Domain 是指定关联的 WEB server或域。

它的值是域名,比方 www.china.com 。这是对
path 路径属性的一个延伸。

假设我们想让  www.china.com 可以訪问 bbs.china.com 设置的 cookies,该怎么办? 我们可以把 Domain 属性设置成“china.com”,并把 path 属性设置成“/”。



  • Secure(安全)

Secure 是指定 Cookie 的值通过网络怎样在用户和 WEB server之间传递。

这个属性的值或者是“secure”,或者为空。

缺省情况下,该属性值为空,也就是使用不安全的HTTP连接传递数据。假设一个 cookie 标记为 secure。那么,它与 WEB server之间就通过
HTTPS 或者其他安全协议传递数据。

只是。设置了 secure 属性不代表其他人不能看到你机器本地保存的 cookie 。换句话说。把 cookie 设置为 secure,仅仅保证 cookie 与 WEB server之间的传输数据过程加密,而保存在本地的 cookie 文件并不加密。假设想让本地 cookie 也加密。那就须要自己加密数据了。



  • Expires(过期时间)

Expires 是指 Cookie 的生命期,确切地说是过期日期。假设想让 cookie 的存在期限超过当前浏览器的会话时间。就必须使用这个属性。当过了到期日期时。浏览器会自己主动删除 cookie 文件。



结束语


这一篇文章比較短。主要就是介绍一下 Cookie 的四个经常使用属性。并且。这四个属性对于 Web server的安全方面来说还是非常重要的。寻常我们搞开发时,经常会忽略这些“小”东东。

而非常多时候,忽略了这些“小”东东。就会给我们带来意想不到的问题。所以,在这里强调一下,也算是给自己提个醒。


好了。不早了。今天工作也挺累的,就不多说了。早点歇着吧。明天、后天还得加班呢。哎,好好的一个周末。又没了。



WEB安全实战(四)关于 Cookie的更多相关文章

  1. 手把手和你一起实现一个Web框架实战——EzWeb框架(四)[Go语言笔记]Go项目实战

    手把手和你一起实现一个Web框架实战--EzWeb框架(四)[Go语言笔记]Go项目实战 代码仓库: github gitee 中文注释,非常详尽,可以配合食用 这一篇文章主要实现路由组功能.实现路由 ...

  2. 响应性web设计实战总结

    响应性web设计实战 响应性web设计的理念是:页面的设计与开发应当根据用户行为与设备环境(包括系统平台,屏幕尺寸,屏幕定向等)进行相应的响应及调整.具体的实践方式由多方面组成,包括弹性网格和布局,图 ...

  3. java web 学习十一(使用cookie进行会话管理)

    一.会话的概念 会话可简单理解为:用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话. 有状态会话:一个同学来过教室,下次再来教室,我们会知道这个同学曾 ...

  4. Jmeter 接口测试实战-有趣的cookie

    Jmeter 接口测试实战-有趣的cookie 场景: 接口测试时常都需要登录,请求方式(post), 登录常用的方法有通过获取token, 获取session, 获取cookie, 等等. 这几种都 ...

  5. SpringSecurity权限管理系统实战—四、整合SpringSecurity(上)

    目录 SpringSecurity权限管理系统实战-一.项目简介和开发环境准备 SpringSecurity权限管理系统实战-二.日志.接口文档等实现 SpringSecurity权限管理系统实战-三 ...

  6. 手把手和你一起实现一个Web框架实战——EzWeb框架(五)[Go语言笔记]Go项目实战

    手把手和你一起实现一个Web框架实战--EzWeb框架(五)[Go语言笔记]Go项目实战 代码仓库: github gitee 中文注释,非常详尽,可以配合食用 本篇代码,请选择demo5 中间件实现 ...

  7. java web学习总结(四) -------------------HTTP协议

    一.什么是HTTP协议 HTTP是hypertext transfer protocol(超文本传输协议)的简写,它是TCP/IP协议的一个应用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的 ...

  8. 响应性web设计实战总结(二)

    响应性web设计实战总结(二) 阅读目录 背景知识: Gulp-less安装及配置如下 对响应性web总结,之前总结过2篇文章:可以看如下: http://www.cnblogs.com/tugenh ...

  9. coreseek实战(四):php接口的使用,完善php脚本代码

    coreseek实战(四):php接口的使用,完善php脚本代码 在上一篇文章 coreseeek实战(三)中,已经能够正常搜索到结果,这篇文章主要是把 index.php 文件代码写得相对完整一点点 ...

  10. 《Java web 开发实战经典》读书笔记

    去年年末,也就是大四上学期快要结束的时候,当时保研的事情确定了下来,终于有了一些空闲的时间可以学点实用的技术. 之前做数据库课程设计的时候,也接触过java web的知识,当时做了一个卖二手书籍的网站 ...

随机推荐

  1. Python应该怎样实现快速入门?

    作为一名Python爱好者,我也想跟大家分享分享我自学Python的一些小经验.搬来你的小板凳,听听看吧.也许,你会很有收获,也许你也走上了自学Python的不归路.开讲啦~ 首先,你要有自信心,要明 ...

  2. 神经机器翻译(NMT)开源工具

    博客地址:http://blog.csdn.net/wangxinginnlp/article/details/52944432 工具名称:T2T: Tensor2Tensor Transformer ...

  3. c++基础_字符串对比

    #include <iostream> #include <string.h> #include <algorithm> using namespace std; ...

  4. github some rank

    github some rank http://githubrank.com/

  5. Python字典(Dictionary)

    Python字典 字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示: d = {key1 : value1, ...

  6. xcap发包工具的简单使用1(构造报文)

    xcap是一个免费的网络发包工具,可以构造和发送常用的网络报文,如arp,ip,icmp,udp等,支持构造报文和发送报文等. 报文隶属于报文组,每个报文组包含多个报文,因此,创建报文首先要创建报文组 ...

  7. 慕课笔记利用css进行布局【一列布局】

    <html> <head> <title>一列布局</title> <style type="text/css"> bo ...

  8. 九度oj 题目1180:对称矩阵

    题目1180:对称矩阵 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:3092 解决:1607 题目描述: 输入一个N维矩阵,判断是否对称. 输入: 输入第一行包括一个数:N(1<= ...

  9. CSU 1259 bfs找最短路

    题目大意: 不想介绍,题目链接:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1259 bfs求最短路. 这里因为2-9,到达同样的点不计步数,那我 ...

  10. zoj4710暴力

    #include<stdio.h> #include<string.h> #define N 110 int map[N][N]; int main() { int n,m,k ...