perl や PHP で Cookie(クッキー)を読み書きする方法

2009年11月15日 21:56 perl や PHP で Cookie(クッキー)を読み書きする方法

Cookie の出力

Cookie は HTTPヘッダに出力することで、アクセスしたユーザーのブラウザ毎に書き込むことができます。

Cookie を書き込む際の書式は、

name=value; expires=Sun, 15-Nov-2009 23:59:59 GMT; domain=www.abe-tatsuya.com; path=/cgi-bin/; secure

という感じです。

name
必須。任意の「name」に対する値「value」を指定します。
例) loginid=abetatsuya
expires
Cookie の有効期限を指定します。省略するとブラウザを閉じるまでの間が有効期限になります。
また、過去の時刻を指定すると、該当 Cookie を削除します。
domain
Cookie を有効にするドメイン名を指定します。省略可。
path
Cookie を有効にするパスを指定します。省略すると、Cookie を書き込んだファイルのあるパスとなります。
secure
指定すると、SSL での通信時のみ Cookie をやり取りします。

この情報を、Set-Cookieヘッダとして出力すれば良いので、 perl の CGI の場合には、

print qq|Set-Cookie: loginid=abetatsuya; |;
print qq|expires=Sun, 15-Nov-2009 23:59:59 GMT; |;
print qq|domain=www.abe-tatsuya.com; path=/cgi-bin/; secure\n|;
print qq|Content-type: text/html; chearset=UTF-8\n|;
print qq|\n|;
#-- 以下、ページを出力

という感じにすれば良いわけです。

PHP の場合は、その名の通り setcookie っていう関数が用意されてるので、非常に楽チンですね。

setcookie("loginid","abetatsuya",time,"/cgi-bin",
 "www.abe-tatsuya.com",true);

こんな感じで書けばOKです。
詳細はPHP: setcookie - Manual等を参照。

複数の Cookie を書き込みたい場合は、複数回 Set-Cookie ヘッダを出力すれば大丈夫です。

Cookie の読み込み

書き込んだ Cookie を読み込みたい場合は、環境変数 HTTP_COOKIE を参照します。

perl であれば $ENV{'HTTP_COOKIE'} 内に「name=value」という形式で入っています。
複数の値が指定されている場合は「; 」区切りで「name1=value1; name2=value2」のように入ります。

「; 」で split した後にさらに「=」で split して、$COOKIE{'name'} = value のような連想配列に入れると使い易いかと思います。

PHP の場合は、$_COOKIE['name'] という変数内に、そのまま指定した値が入ってきます。

阿部辰也へのお仕事のご依頼・お問合せはこちら

Twitter始めました。Followはお気軽にどうぞ。

関連するブログ記事
スポンサード リンク
カテゴリー
PHP | perl/CGI
タグ
CGI | Cookie | HTTPヘッダ | perl | PHP | Set-Cookie | setcookie | 環境変数
現在位置
TOP > Web制作技術 > perl/CGI > perl や PHP で Cookie(クッキー)を読み書きする方法
前のブログ記事
MT4 で TagSupplementals プラグインを利用して関連ブログ記事(エントリー)一覧を表示する方法 [2009年11月14日 23:59]
次のブログ記事
MT4 でカテゴリやフォルダを好きな順番に並べ替えられる Sort Categories And Folders プラグイン [2009年11月16日 21:44]

トラックバック(0)

このブログ記事に対するトラックバックURL:

コメント(21)

payday loans [2014年1月28日 19:37]

jldmrwo http://paydayloansukprd.co.uk/ payday loans

payday UK [2014年2月27日 12:58]
hello [2014年8月 2日 00:33]

iaqdbmq [url=http://bgxrnk.com/]yemfibs[/url]

pay day loans [2014年12月12日 22:44]

pkbmaxdc http://paydayloansdpf.com/ pay day loans

payday loans [2015年4月 1日 03:50]

fwzkwy http://paydayloansdpu.com/ payday loans

awbqcxsp [2015年9月13日 02:17]

mpxiyp

hello [2015年9月15日 03:46]

bwuoemm jdbjmnj

hello [2015年9月15日 14:45]

jabctzl [url=http://xlnazf.com/]hvjfiklo[/url]

hello [2015年9月15日 21:19]
nike 2 [2016年5月 7日 20:21]

Advice I think a LED flashlight is a must, it doesnt matter if if fits in your pocket or you need to carry it with a backpack.

nike 0 [2016年5月 7日 20:22]

99.

nike 2 [2016年5月 7日 20:22]

If you need to read river bottoms and spot the reds and greens of prized species, choose the VR28 lenses.

nike air max 2014 price [2016年7月 1日 23:49]

Frames take on everything from subtle black or brown to bright, vivid hues.

nike air max 2014 green [2016年7月 1日 23:49]

Beyond this event in Albany, there are many small ways to contribute to the fight against Breast Cancer.

buy nike air max 2014 [2016年7月 1日 23:50]

1 player, with the sports brands, luxury brands and optical retailers.

pink air max 2014 [2016年7月 1日 23:51]

When the miners arrived at the San Jose mass, many were treated like celebrities.

2015 nike air max [2016年7月 1日 23:51]

These are used to show off the Fashion oakley sunglasses and the inter station convenience store.

air max 2015 hyper crimson [2016年9月 1日 11:40]

This may also reflect that the people are more and more caring for their health.

air max 2016 uk [2016年9月 1日 11:41]

Revealed in the strong sun light, eyes are easy to get hurt.

air max 2015 size 3 [2016年9月 1日 11:41]

Both suspects were released on their own recognizance and are scheduled to be arraigned April 17 in Newhall Municipal Court.

air max 2016 dos [2016年9月 1日 11:42]

The battery life is longer, and at close range, can blind your paramedic partner.

コメントする


画像の中に見える文字を入力してください。

 

このブログについて

阿部辰也

Webコンサルタントやシステムエンジニア、執筆業などをやっている、グッドホープ代表・阿部辰也のブログです。
Web技術系のTipsから仕事の話、趣味の話まで色々と。
人生は所詮生まれてから死ぬまでの壮大な暇つぶし。
だったら有意義に暇をつぶして生きましょー。

阿部辰也へのお仕事のご依頼・問合せはこちらからどうぞ。

Twitter: @t_abe
読書メーター: ID:Tatsuya

このブログのサイトマップ
このブログのはてなブックマーク数

Feed/RSS購読

タグクラウド

最近のトラックバック

阿部辰也の著書

77のキーワードで知る インターネットで稼ぐ 図解 ブログ・メルマガ・Webサイト構築の基本

77のキーワードで知る インターネットで稼ぐ 図解 ブログ・メルマガ・Webサイト構築の基本

頑張って書いたのに、出版後すぐに出版社が倒産して印税も貰えずじまいで俺涙目(笑)。

Powered by Movable Type 5.02

スポンサード リンク

はてなブックマーク



あわせて読みたい

t-abeの今読んでる本

t-abeの最近読んだ本

t-abeの今やってるゲーム

t-abeの最近やったゲーム