• 締切済み

特定の cookie を指定して読むことは可能ですか

kayonoの回答

  • kayono
  • ベストアンサー率0% (0/1)
回答No.1

同じドメインで一時的なCookieでだったら間違いなくできます。 ただ、他の条件でやったことがないのでそれしかわかりません。 あまり参考にならなくてごめんなさい。

yasu
質問者

お礼

回答ありがとうございます。 同じドメインなら読み書き可能だ、というのは 聞いていたのですが、実際やってみると参照ができ ないのです。 で、 cookie の保存されている場所、 C:\Documents and Settings\Administrator\Cookies のところを見ると、ドメイン名で保存されていなく、 cgi 名で保存されていました。 administrator@cookie[1].txt @以降を、cgiファイル名ではなく、ドメイン名にして 保存する方法がもしおわかりになればで結構です ので、その場合は補足いただけたら幸いです。

yasu
質問者

補足

cookie を書き込む際に、 expires=Thu, 1-Jan-2030 00:00:00 GMT; path='/'; domain='www.xxxxx.com'; と、path、domain を設定することで、望みのcookie名 になることがわかりました。 しかし、参照ができません。。。 あくなき挑戦は続く。

関連するQ&A

  • cookie が有効がどうか判断させたいのですが・・・

    HPを見ているブラウザーが cookie が有効かどうか しらべたいのですが、よくある cookie の書き込みと 読み出しのサンプルを使って以下のようなスクリプトを 考えました。 $cookie_flg = 1; print &setCookie("CHECK", $cookie_flg); # Cookie の値を得る &getCookie(); $cookie_flg = $COOKIE{'CHECK'}; if ($cookie_flg eq '') { $cookie_flg = 0; # Cookie が使えない } return $cookie_flg; ・・・これでわかるでしょうか? ブラウザーでは実際に、cookie が使える状態 なのですが、アクセス最初の1回目は 0 が返って くるのです。 ( 2回目以降は 1 が返ってきて望みどおりです ) ひょっとして、cookie の仕様として、書き込んで から、すぐに読み出そうとしても、読めないもの のでしょうか? それとも、cookie を書き込んだあと、一旦、 print "Content-type: text/html\n\n"; で閉めてから、読み出さないといけないとか??? こんなんで、何日もうんうん考え込んでます。 ベテランの方には、あまりに馬鹿馬鹿しい問題 なのかもしれませんが・・・

    • ベストアンサー
    • Perl
  • phpでのCookieのパスの書かれ方

    phpの初心者なのですが、Cookieでうまく情報の引き渡しができないので、アドバイス頂けないでしょうか? test1でCookieを初期設定した後に、Cookieを使ってtest2を呼び出し、 test2上で設定し直した値でCookieを書き変えてtest2を再呼び出ししています。 再呼び出しした時のCookieが読めないので、ブラウザを調べてみると、yyという名前のクッキーが2つ存在しているためだと判りました。値は確かに置き変わっているのですが、パスが違っているので読み出せないようです。 初期設定した時のパスは /tst/  → test1.phpでsetcookieで設定したもの 再設定した時のパスは /  → test2.phpの中のJavascriptで設定したもの になっていました。 ▽test1.php (/svr1/tst/) setcookie("yy",$yy,0,"./"); (略) header("HTTP/1.1 301 Moved Permanently"); header("Location: test2.php"); ▽test2.php function set_Cookie() { yy = parseInt(document.f1.ck_yy.value); document.cookie = "yy=" + yy + "; path=/"; return true; } <php? $yy = $_COOKIE['yy']; ?> <form name="f1" action="test2.php" method="post"> <input name="yy">  <input type="submit" value="実行" onClick="set_Cookie()">   </form> setcookie の引数であるパス名を最初は省略していたのですが、/tst/というパスが入ってきてしまうため、パス名をあえて ./としてみたのですが結果は同じでした。 ちなみにtest1の呼び出し元は別のサーバーで以下のように呼びだしています。 ▽test0.html (/svr0/wwwroot/) <a href="http://svr1/tst/test1.php">test1</a> パス名はどのように決まるのでしょうか?

    • ベストアンサー
    • PHP
  • Cookieをリセットしたい

    Cookieをいったんリセットしてゼロの状態からまたはじめたいと思っています。 クライアントが持っているCookieの値を削除したい場合、過去のタイムスタンプを利用すると書かれていましたが、下記のようにサーバー側(phpのプログラム側)でCookie名を変更するだけではダメなのでしょうか? setcookie("TestCookie", $value); ↓ setcookie("TestCookienext", $value); ためしにテストしてみたのですが問題なさそう(?)だったのですが、何か問題あるのでしょうか。 どうぞよろしくお願いいたします。

    • ベストアンサー
    • PHP
  • 書き込んだばかりのcookieが読み込めません

    cookieを書込んだ直後、書込めたか(cookieをオフにしていたり、cookieを書込めない携帯端末からのアクセスかもしれないので)確認をしようと、cookieを読込もうとしたのですが、cookieが書込まれているにもかかわらず情報を取得することができません 実験環境として、htmlファイルにボタンを作って、cgiへ飛び、そのcgi内でcookieを書込み、cookieが書込めたかどうかで分岐して、表示するようにしています (cgiを一度実行したあと一旦ブラウザで前のhtmlファイルに戻って)cookieが既に書込まれた状態で、改めてhtmlファイルのボタンを押せばcookieは読込めますが、最初にcookieを書込んだ時に同じcgi内で即読込みを行ったら読込めません 書込が完結する前に読込みに行っているから読込めないのかとも思い、読込み前にタイムラグを作っても見ましたがやはり読込めません どうすれば書込み直後に読み込めるのでしょうか? 色々ネットで調べても見ましたが、いっこうに解決策が見つかりません ご存じの方ぜひご教授下さい よろしくお願いします なお、下にperlのコードを書いておきます #クッキーを書込 $test{sid} = "12345"; &set_cookie($test{sid}); #タイムラグ use Time::HiRes; Time::HiRes::sleep(0.8); #クッキーを読込 ($cookie{test}) = &get_cookie; if(!$cookie{test}){ print "読み込めてない"; } else{ print "読み込めた"; } ######→読み込めません##### #クッキー書込sub sub set_cookie { local(@cook) = @_; local($gmt, $cook, @t, @m, @w); @t = gmtime(time + 2*60*60); @m = ('Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'); @w = ('Sun','Mon','Tue','Wed','Thu','Fri','Sat'); $gmt = sprintf("%s, %02d-%s-%04d %02d:%02d:%02d GMT", $w[$t[6]], $t[3], $m[$t[4]], $t[5]+1900, $t[2], $t[1], $t[0]); foreach (@cook) { s/(\W)/sprintf("%%%02X", unpack("C", $1))/eg; $cook .= "$_<>"; } print "Set-Cookie: SID=$cook; expires=$gmt; path=/;\n"; } #クッキー読込sub sub get_cookie { local($key, $val, *cook); $cook = $ENV{'HTTP_COOKIE'}; foreach ( split(/;/, $cook) ) { ($key, $val) = split(/=/); $key =~ s/\s//g; $cook{$key} = $val; } foreach ( split(/<>/, $cook{'SID'}) ) { s/%([0-9A-Fa-f][0-9A-Fa-f])/pack("C", hex($1))/eg; push(@cook,$_); } return (@cook); }

    • ベストアンサー
    • Perl
  • cgi から cgi を実行する。

    cgi から cgi を実行するにはどうしたらいいので しょうか。 test.cgi の中で、 $test='/public_html/cgi/cookie/cooke.cgi'; open (test); print while <$test>; とやったのですが、うまくいかないようです。 cooke.cgi は、cookie を書き込むだけのcgiです。 よろしくお願いします。

    • ベストアンサー
    • CGI
  • cookieに複数のIDを持たせる場合

    cookieについての質問です。 是非お力をお貸しください。よろしくお願いします。 2重投稿を防ぐ方法としてcookieを使用したいと思っています。 下記のように書いたのですが、うまくID別に認識してくれません。 $ID = ひっぱてきたID; if(isset($_COOKIE['$ID'])){ print('エラー'); exit; } else{ setcookie('$ID',time()+60); } $_COOKIE['$ID']←こういった感じで使用することはできないのでしょうか? よろしくお願いします。

    • ベストアンサー
    • PHP
  • Cookieが保存できない。

    CGIをつかってクッキーを保存しようと試みています。 以下のように記述しておりますがなぜかクッキーファイルが生成されません。 print "Content-type: text/html\n"; print "Set-Cookie: NAME=test\n"; print "\n"; print "テスト"; 何か問題がるのでしょうか?もちろんブラウザ上ではクッキーは有効にしていますし、ほかの他クッキーファイルは存在します。 ブラウザはIE6.0です どなたかご教授お願いします。

    • ベストアンサー
    • CGI
  • Cookieの保存について

    Cookieの保存をするのに、 setcookie() を使っているのですが、setcookie()を実行したページ内で、var_dump($_COOKIE); で調べると保存されているのですが、違うページに移動すると、なぜか前のページで保存したCookieが消えてしまいます。 なぜでしょうか? 行程は、次のようにやっています。 ページA setcookie("A","1",time()+3600*24*30); var_dump($_COOKIE); 結果  array(3) { ["A"]=> string(1) "1" ["B"]=> string(1) "2" ["PHPSESSID"]=> string(32) "a83f0de87ebd6c3717873d3b6f7506f7" } ページBへ移動 var_dump($_COOKIE); 結果  array(2) { ["B"]=> string(1) "2" ["PHPSESSID"]=> string(32) "a83f0de87ebd6c3717873d3b6f7506f7" } よろしくお願いします。 環境:PHP4.4.1+Apache2.0+Windows2003(SP1)+IE6(SP1)

    • ベストアンサー
    • PHP
  • COOKIEを使った二重投稿禁止する方法

    COOKIEを利用して二重投票を禁止するようにしたいと思っています。 $id=12; //スレッドID if(isset($_COOKIE[$id])){ print("連続投票です。"); exit; }else{ setcookie($id , "vete_flg" , time()+$3600*24*7); } 上記のようにしているのですが、COOKIEにきちんと記録されず、 print_r($_COOKIE)を見たところ、上記と同じように設定した 新規投稿スレッドのCOOKIE「Array ( [entry] => entry_flg ) 」 が表示されてしまいます。 どうすれば用途別にCOOKIEを切り分けて二重投稿等を禁止できるのか、 その方法を教えてください。m(_ _)mペコリ

    • ベストアンサー
    • PHP
  • どうしてもCookieとCGI・perlの関係?が理解できない。

    ととろさんのところを(http://tohoho.wakusei.ne.jp/www.htm)みながら、なんとかPerl・CGIを勉強しているところです。 普通にフォームに入力されたものをログファイルにとる、などはできるようになったのですが、 どうしてもクッキーのところでつまづいてしまいます。 Cookie書き込みの例、のところに、 Set-Cookie: NAME=tanaka; Fri, 31-Dec-2030 23:59:59; とやったら、tanakaというクッキーが作成されるのでしょうか? どうしてもこの辺がわからないのです。 これを実行する場合、 #!/usr/local/bin/perl print "Content-type:text/html\n"; print "Set-Cookie: NAME=tanaka; Fri, 31-Dec-2030 23:59:59;" print "\n"; のようにやるのですか? 最終的にはフォームの入力値を取得・反映したいと考えているのですが…。 あちこちわかりやすいと言われるcgi・PERL解説サイトをみたのですが、どうしてもここだけが理解できませんでした。

    • ベストアンサー
    • CGI