zoukankan      html  css  js  c++  java
  • c写cgi cookies 设置与读取

    验证用户登录后,把用户名和密码写入cookies:
    int checkadminlogin()
    {
    char name[81];
    char pass[81];

    char tempUserName[81];
    char tempUserPass[81];
    cgiFormStringNoNewlines("username", name, 81);
    cgiFormStringNoNewlines("password", pass, 81);

    printf("Set-Cookie:username=%s;path=/\r\n",name);
    printf("Set-Cookie:pass=%s;path=/\r\n",pass);
    cgiHeaderContentType("text/html");
    }

    读出cookies:(利用了cgic库)

    void Cookies()
    {
    char **array, **arrayStep;
    char value[255];
    char cname[255];
    char cpass[255];
    int count=0;
    if (cgiCookies(&array) != cgiFormSuccess) {
    return;
    }
    arrayStep = array;
    //fprintf(cgiOut, "<table border=1>\n");
    //fprintf(cgiOut, "<tr><th>Cookie<th>Value</tr>\n");
    //printf("arrayStep=%d\n",arrayStep);
    while (*arrayStep) {
    char value[1024];
    //fprintf(cgiOut, "<tr>");
    //fprintf(cgiOut, "<td>");
    //cgiHtmlEscape(*arrayStep);
    //fprintf(cgiOut, "<td>");
    cgiCookieString(*arrayStep, value, sizeof(value));
    //printf("value=%s\n",value);
    //cgiHtmlEscape(value);
    //fprintf(cgiOut, "\n");
    if(count==0)
    {
    strcpy(cname,value);
    }
    if(count==1)
    {
    strcpy(cpass,value);
    }
    arrayStep++;
    count++;
    }
    //fprintf(cgiOut, "</table>\n");
    //printf("cname=%s\n",cname);
    //printf("cpass=%s\n",cpass);
    cgiStringArrayFree(array);
    }

    修改cookies和写入一样,重新用一样的,重新写入一次即可,cookie里面的对应的名称不能改变,比如这个里面的name,pass.
  • 相关阅读:
    DOS net use
    DOS cscript
    DOS bcp
    DOS ftp
    java 锁机制(synchronized 与 Lock)
    java-过滤器(Filter)
    java collection集合
    java Map集合对比分析
    java反射与注解结合使用(根据传入对象输出查询sql)
    java反射-使用反射来操纵方法
  • 原文地址:https://www.cnblogs.com/zzxap/p/2175773.html
Copyright © 2011-2022 走看看