zoukankan      html  css  js  c++  java
  • CGI中使用Cookie

    在 http 协议一个很大的缺点就是不对用户身份的进行判断,这样给编程人员带来很大的不便, 而 cookie 功能的出现弥补了这个不足。

    cookie 就是在客户访问脚本的同时,通过客户的浏览器,在客户硬盘上写入纪录数据 ,当下次客户访问脚本时取回数据信息,从而达到身份判别的功能,cookie 常用在身份校验中。

     

    cookie的语法

    http cookie的发送是通过http头部来实现的,他早于文件的传递,头部set-cookie的语法如下:

    Set-cookie:name=name;expires=date;path=path;domain=domain;secure 
    • name=name: 需要设置cookie的值(name不能使用";"和","号),有多个name值时用 ";" 分隔,例如:name1=name1;name2=name2;name3=name3
    • expires=date: cookie的有效期限,格式: expires="Wdy,DD-Mon-YYYY HH:MM:SS"
    • path=path: 设置cookie支持的路径,如果path是一个路径,则cookie对这个目录下的所有文件及子目录生效,例如: path="/cgi-bin/",如果path是一个文件,则cookie指对这个文件生效,例如:path="/cgi-bin/cookie.cgi"。
    • domain=domain: 对cookie生效的域名,例如:domain="www.runoob.com"
    • secure: 如果给出此标志,表示cookie只能通过SSL协议的https服务器来传递。
    • cookie的接收是通过设置环境变量HTTP_COOKIE来实现的,CGI程序可以通过检索该变量获取cookie信息。

    Cookie设置

    Cookie的设置非常简单,cookie会在http头部单独发送。以下实例在cookie中设置了name 和 expires:

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
    # 
    print 'Content-Type: text/html'
    print 'Set-Cookie: name="菜鸟教程";expires=Wed, 28 Aug 2016 18:30:00 GMT'
    print
    print """
    <html>
        <head>
            <meta charset="utf-8">
            <title>菜鸟教程(runoob.com)</title>
        </head>
        <body>
            <h1>Cookie set OK!</h1>
        </body>
    </html>
    """
  • 相关阅读:
    图论——拓扑排序
    BZOJ 2882 & 后缀数组的傻逼实现
    BZOJ 2626 & KDtree
    Colorado Potato Beetle(CF的某道) & 鬼畜宽搜
    Prime & 反素数plus
    BZOJ 2049 & LCT又一模板
    BZOJ2002 & LCT模板(分块不会搞)
    BZOJ2190 & 欧拉函数
    BZOJ 1053 & 反素数
    POJ2774 & 后缀数组模板题
  • 原文地址:https://www.cnblogs.com/furuihua/p/11289654.html
Copyright © 2011-2022 走看看