c寫cgi cookies 設定與讀取

來源:互聯網
上載者:User
驗證使用者登入後,把使用者名稱和密碼寫入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.
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.