• ベストアンサー

gooでやたらクッキーを食わされます。ソースのどこに記述されてます?

shige_70の回答

  • shige_70
  • ベストアンサー率17% (168/946)
回答No.2

Set-Cookie: というのは『httpレスポンスのヘッダ』にかかれているので、htmlの中にはありません。 通常、ブラウザで見ている以上はヘッダ部分は見ることはできません。(言い換えれば、一般的なブラウザはヘッダ情報をユーザが参照できるような機能を用意していません) 直接サーバと通信するプログラムを自分で作る、もしくはtelnetをうまく使えばヘッダを見ることはできると思いますが、、、 ただ、たいていのブラウザでは、設定項目で『Cookieを保存する前に確認する』というのがあって、それを有効にしておけば、Cookie(すなわち、ヘッダにSet-Cookie:があるレスポンス)を受信する度に確認ダイアログなどがCookieの内容とともに表示されますから、都度見ることができ、気にいらなければ拒否できます。。。というか、警告がでるというのはそれのことですよね。その都度拒否すればいいはずです。 警告がでるのがうっとうしいということであれば、逆に確認する機能を無効にしてしまえばでなくなりますし、最近のブラウザならサイト毎に受け入れか拒否か最初に決めてしまえばそれ以降確認を省略するようになっているものが多いです。

noname#9431
質問者

お礼

ご回答有難うございます。 初心者ながら、 >Set-Cookie: というのは『httpレスポンスのヘッダ』にかかれているので、htmlの中にはありません。 という点のはだいたい理解していたつもりなのですが、 htmlファイルで、cgiなりなんなりを呼び出したり、cookie操作をしているらしいjavascriptの記述が見当たらないことが不思議でした。 そこで、telnetでレスポンスをみたところ、 Set-cookie: の記述がしっかりあり、クッキーがセットされてからhtmlヘッダが送られていることが分りました。 だからhtmlファイルを見ても分らなかったのですね。

関連するQ&A

  • NN4だけクッキーが入らない

    ログインのCGIを作っているのですが、Set-Cookieヘッダにdomainの指定をすると、NN4ではクッキーが入らないのです。 出力しているヘッダは次のような感じです。 Set-Cookie: A=1; expires=Thu, 01-Jan-2004 00:00:00 GMT; domain=.hoge.jp; path=/ 他のブラウザではうまく行くことを確認しています。 またNN4でも、domainの指定さえなければうまく行きます。 思い当たる要因というと、 ・開発環境がローカルサーバ(192.~) ・ログインページがサブドメインなし(http://hoge.jp/~) くらいです。(関係ないかもしれませんが、一応) 解決方法などありましたら、よろしくお願い致します。

    • 締切済み
    • CGI
  • クッキー(Cookie)とは何でしょうか?

    クッキー(Cookie)とは何でしょうか? クッキー(Cookie)というものが何なのか分かりません。 ネットで調べると、「Webサイトの提供者が、Webブラウザを通じて訪問者のコンピュータに一時的にデータを書き込んで保存させるしくみ。」とか難しいことが書いてありますが、 要するにごく簡単に、具体的に言うと何なのでしょうか。 サルでもわかるようなやさしいご説明をお願い致します。

  • クッキーを書かせようとするとMac OS10.5のみHtmlソースが表示されるのです

    あるフリーのCGIを改造して使っていたのですが、最近、Macを使っている人からだけ、「フォームが表示されずにHtmlのソース表示になってしまう」と言われるようになってしまいました。 私はOS10.4のMacユーザーですがそのような問題は何もなく、「ソース表示になってしまう」と言われ始めたのが丁度OS10.5が普及してきた頃だったので、自分のOSも10.5にしてみたところ、やはり指摘通りの現象が発生しました。 ちなみに、ブラウザはSafariでもFireFoxでも同じように問題が発生します。 もちろん、いずれのブラウザもクッキーは受け入れる設定にしています。 そして、色々原因を探してみたところ、CGIに書き加えた    ・    ・    ・ $joutai="既読"; print "Set-Cookie: "; print "shoko=$joutai; "; という部分から print "Set-Cookie: "; print "shoko=$joutai; "; を削除するとMacOS10.5でもソース表示に化けてしまわなくなりました。 Windows XP、Vista、MacOS 9.2、MacOS 10.3、MacOS 10.4では上記の記述のままでも正しくクッキーが書き込まれ、画面はソース表示になってしまう問題も起きないことは確認済です。 どこが悪いのでしょう? MacOS10.5でもこの問題が起きないようにクッキーを書き込ませる方法は何か無いでしょうか?

    • ベストアンサー
    • Perl
  • クッキーという技術

    goo ID の ログイン状態の保持について 「一定期間ログイン状態を保持」をチェックしてログインした場合、その後ログアウトしない限り(※1)、ブラウザを終了しても、コンピュータの電源を切っても、ログインした状態が継続し、次回ご利用になる場合には、新たにログインすることなく、gooトップページにおける便利な機能(※2)及びその他のgooID使用サービスをご利用になることができます(クッキーという技術を用います)。 とあります ツール→閲覧履歴の削除→Cookie削除 してもログインの状態は保持されるし マイコンピュータからCookiesをみても何もはいっていません いったいgooのログイン状態を保持するクッキーはどこに隠れているのでしょうか?

  • セットしたクッキーを別のドメインで有効にするには

    cgi(perl)を使用してクッキーをセットし、別のドメインに飛んでいくスクリプトを作っています。 例えば、cgiはwww.a.comにあり、クッキーをセットした後、www.b.comに飛びます。 www.b.comで、セットしたクッキーが有効になるようにしようと思ってます。 このような記述で試してみましたが、http://www.b.com/test/ でクッキーが有効になっていません。 書き方が間違っているのでしょうか? print "Set-Cookie: VALUE=hogehoge; path=/test/; domain=www.b.com\n"; print "Location:http://www.b.co.jp/test/\n\n"; ちなみに、クッキーが有効になっているかどうかの判断は、Bookmarkletの「クッキーを表示」を使用して確認しています。 http://bookmarklet.daa.jp/ 宜しくお願いします。

    • ベストアンサー
    • CGI
  • クッキーについて

    クッキーを考慮し、SESSION管理を使ってスクリプトを作成しています。 webサーバ側に下記phpのスクリプトを設定した場合、 <?php session_name("abc"); session_start(); ?> html ヘッダ情報... ※php.iniにて、クッキーの有効期限を30日に設定。 ※クッキ内容は、 ブラウザ(firefox)の「ツール」→「オプション」→「プライバシー」 →「cookieを表示」ボタンを押して、クッキー名前、内容、有効期限の 確認しています。 ブラウザ側で上記webサーバのホームページにアクセスし、そのホームページで数回リロードを行った場合、リロードするたびにクッキーは、webサーバからブラウザ側へ数回(同じクッキー内容を)送信しているんでしょうか。

    • 締切済み
    • PHP
  • クッキーがセットされない

    こんばんは、お世話になっております。 事あるたびに投函しているようで恐縮なのですが、調べてもその原因がわからず、皆様のアドバイスを頂戴できればと投函させて頂きます。 下記のソースは、ログイン認証時のものですが、ID、パスワードを入力時、次回より自動ログインにチェックを入れたかの分別によりクッキーを送信する内容を変えているものです。 しかしながら、チェックを入れたときは無事クッキーがセットされるのですが、チェックを入れないときはクッキーがセットされません。 お忙しい中恐縮ですが、ソースの誤りはもちろん、クッキーがセットされないポイントなど御座いましたら、アドバイスいただければ幸いに思います。宜しくお願い致します。 $addr = $_SERVER['REMOTE_ADDR']; if($check == "auto"){//自動ログインにチェックを入れた場合 setcookie("addr", $addr, time() + 60*60*24*30, "/"); setcookie("key_no", $key_no, time() + 60*60*24*30, "/"); } else{//チェックなし。ブラウザを閉じるとクッキーを無効 setcookie("login", $addr, 0, "/"); setcookie("key_no", $key_no, 0, "/"); }

    • ベストアンサー
    • PHP
  • クッキーに関して

    こんばんは。お世話になっております。 ここ1~2週間ほどクッキーについて学んでいるのですが、開発環境と実際のweb上での動きに違いが見られ、何がどう違うのか?が見えなくなってしまいました。下記に現状を書き留めますのでご指導頂けたら幸いに思います。 $addr = $_SERVER['REMOTE_ADDR']; setcookie("addr", $addr, time() + 60*60*24); setcookie("key_no", $key_no, time() + 60*60*24); 以上を設置すると、web上のサーバーにアップしたものに関しては、クッキーのファイルに、addr、key_no共に保存されるが、ローカルではクッキーファイル内にkey_noが見られない。 ブラウザを閉じた後、クッキー情報を取得するために、 if(isset($_COOKIE["addr"])){  $addr = $_SERVER['REMOTE_ADDR'];  $addr1 = $_COOKIE["addr"];   if($addr == $addr1){ として始めるものの、web上ではクッキーの取得に成功し、ローカル上ではクッキーを認識しない。 と、以上のような状況です。ソース的な不備も含め、ご指導いただきたく思います。お忙しい中恐縮ですが宜しくお願い申し上げます。

    • ベストアンサー
    • PHP
  • クッキーについて質問が御座います

    phpのクッキーについての質問です。 皆様どうぞよろしくお願い致します。 phpでのクッキーを利用したプログラムを始めて 作成しようと思っているのですが、 /* test1.php */ <form method="POST" action="cookieTest.php"> <input type="text" name="id" /> <input type="submit" value="送信" /> </form> /* cookieTest.php */ $id = $_POST['id']; setcookie("cookieId",$id, time() + 7200); // クッキーのセット echo $_COOKIE["cookieId"]; 上記のようにtest1.phpからフォームにてcookieTest.phpへPOSTにて「aaaaa」という文字を送信した場合にcookieTest.phpにて、 echoにてクッキーが表示できません。 その後ブラウザの更新ボタンを1度押すと「aaaaa」が表示されるようになります。 更新を押さなければクッキー内容が表示されないのはどのような原因が考えられますでしょうか?どうぞ皆様よろしくお願い致します。

    • 締切済み
    • PHP
  • クッキーを連想配列で扱う方法について

    クッキーを連想配列で使ってみようと思い、下記のようなコードを書きましたがうまく動作しません。 当該クッキーがセットされているときは、★の方の処理が実行されるようにしたいのですが・・・。 修正方法のアドバイスをお願いできませんでしょうか。 if (isset($_COOKIE["mycookie['pg4']"])) { //この記述が問題でしょうか? $order = "desc"; // ★ } else { $order = "asc"; $expiry = time() + 365 * 24 * 3600; setcookie("mycookie['pg4']",1,$expiry); } これを実行した後に、ブラウザ(Firefox 5)のクッキーを見ると、 名前: mycookie['pg4'] 内容: 1 とあり、一応クッキーの送信はされているようです。 また(連想)配列をやめて、"mycookie['pg4']"の部分を全て"mycookie"に変更すれば希望の動作をしてくれます。 ただ、レンタル共有サーバーでの運用ということもありなるべく配列でクッキーをセットしたいのと、 このページ用のクッキーの値の有無(過去の訪問の有無)のみを判定したので、 連想配列でできればいいなぁ、と考えました。 ちなみにHTMLのbody中で、 <?=($_COOKIE["mycookie['pg4']"]);?>と書いてもやはり結果が出力されないので、 恐らくは$_COOKIE["mycookie['pg4']"] なんて書き方が悪いような気がするのですが、 確信はなく、修正方法もわかりません・・・。 お手数ですがご指導どうぞよろしくお願いいたします。

    • ベストアンサー
    • PHP