• ベストアンサー

セットされているCookieの内容を変更

set cookieで既にセットされているCookieの内容を変更する方法を教えていただきたく。(セットされているクッキーを書き出し、一部データを書き換え、再度セット?) また、参考になるサイトも教えていただけると助かります。

  • Perl
  • 回答数3
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • feininger
  • ベストアンサー率41% (74/180)
回答No.2

> hogeは可変で取得するのが困難です。 hogeの部分を可変にするのは面倒なので固定にしたほうがよいです。 > やはりset-cookieの一覧をまず変数に出力し、内容を置換し、再度set-cookieするような事ができるといいなと思っています。 と、いうことであれば下記が参考になるかと。 http://tohoho.wakusei.ne.jp/wwwcook.htm 複数のデータは自前のセパレータ(:,&など)で区切って1つの文字列にまとめるとすっきりします。 Set-Cookie: BBS=id:0123:author:aaa; expires=~ Cookieを送信するときもそうですが、読み出すときもセパレータで分解する必要がありますし、これらの文字列処理は自前で用意する必要があります。 (自前セパレータとして = や ; をCookieで使用するとなんとなくヤバイのは想像できますよね)

select_nao
質問者

お礼

いろいろご紹介ありがとうございました。 紹介いただいたページで勉強してみます。

その他の回答 (2)

  • feininger
  • ベストアンサー率41% (74/180)
回答No.3

っと、 > #set-cookieの一覧の出力方法が分からないです。^^; 環境変数 $ENV{'HTTP_COOKIE'} をとりあえず表示させてみるとよいかと。

select_nao
質問者

お礼

表示できました。初歩的なことですいません。^^;

  • feininger
  • ベストアンサー率41% (74/180)
回答No.1

変更したデータでCookieを再度送信すれば書き換わりますよ。 例えば、前回↓のような内容で送信したものを Set-Cookie: hoge=aaabbbccc; expires=~ 新たに↓で送信すると aaaXXXccc としてブラウザに保存されます。 Set-Cookie: hoge=aaaXXXccc; expires=~ 注意点として、 hoge の部分を piyo などと変更して送信してしまうと、 piyo を新規に追加してしまうので、ブラウザには hoge と piyo という2つが存在してしまうことになります。

select_nao
質問者

補足

まさに、そのhogeの部分が変わってしまいます。 そして、hoge と piyo という2つが存在するのは困ってしまいます。hogeを一旦削除するという方法もあるのですが、hogeは可変で取得するのが困難です。 やはりset-cookieの一覧をまず変数に出力し、内容を置換し、再度set-cookieするような事ができるといいなと思っています。 可能でしょうか? #set-cookieの一覧の出力方法が分からないです。^^;

関連するQ&A

  • cookieがセットされていません。

    以前から使用していたfreemailのwebmailにログインしても 入れなくなりました(突然。しかし別のPCからは入れます) >cookieがセットされていません。 >cookie対応のブラウザを使い、ログインを行なって下さい。 というメッセージが出るため、 インターネットオプションで、クッキー、ファイル、履歴を削除したり、 セキュリティー、プライバシーを変更したりしてみましたが× 初心者なので、↑やり方が違うのかも。教えてください。 win me IE 使用。ゾーンアラーム使用です。

  • sessionとcookieの設定内容の区別

    セッションとクッキーの使い分け方法を教えていただけないでしょうか? 簡単に言えばセッションがサーバサイド、クッキーがクライアントサイド、 セッション内容はブラウザ切れば消える(残すことも出来る)、クッキーはブラウザに残る、 と言うことは分かっているのですが、実装の仕方が分かりません。 例えばログインフォームでは$_SESSION['name']、$_SESSION['password']を回す・・・というのは分かります。 認証が終われば$_SESSION['name']、$_SESSION['password']は破棄して$_SESSION['login']=TRUE等を使うのではないかと思っております。 (そうではなくて、認証後は全て$_COOKIEで処理するのでしょうか?) で、$_COOKIEにはsessionIDが入っていると。 しかしながら、ブラウザ切っても暫くしてまたサイトを訪れたときにログイン状態が続くようにするにはどのようにすればいいのでしょうか? $_COOKIEにその情報を格納するのだと思うのですが、例えば$_COOKIE内にユーザidやlogin=OKのような文字を入れているとブラウザから見えてしまいます。 勿論ハッシュ化をして簡単には把握できないでしょうが、ここにはどんな情報が格納されているのか見当も付きません。 具体的な$_SESSION、$_COOKIEに入れるものと、サイトでの各々の実装法を教えていただけないでしょうか?

    • ベストアンサー
    • PHP
  • クッキー(Cookie)とは何でしょうか?

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

  • Cookie(クッキー)について

    ポイントサイトに「Cookie(クッキー)が無効であれば正常にサービスが利用できませんので、ご注意ください。 」などと書かれています。 サイトの通りに自分のクッキーを確認しましたが 「自動Cookie処理を上書きする」にチェックされていないにも関わらず、サイトにログインするとポイントがきちんと表示されます。 これはクッキーが正常と判断してもいいのでしょうか? 宜しくお願い致します。

  • IEでのcookie保存場所の変更

    なにの時にそうなったのか分からないのですが、 IEのcookieデータがIEのお気に入り フォルダーに保存され、 お気に入りの中にcookieデータがどんどん増えて 困っております。 IEでのcookie保存場所を変更する方法を 教えてください。

  • ブラウザにcookieをセットする方法

    ブラウザにcookieをセットする方法がわかりません。 javascriptを使い、XPCOMの「nsICookieManager2」を使いたいと思うのですが、 よくわからないのです。 よろしくお願いします!

  • Cookieの取り扱いについて

    Cookieの管理、セキュリティについてお伺いしたいです。 ブラウザ:ファイアフォックス ネットサーフィン中はCookieを一切保存しない設定にしています。 ただ、Cookieを保存する設定にしないとログインできないようなサイトにアクセスする際は 設定を変更してログインしています。 たとえばSNSやネットショッピングサイトなどです。 保存したCookieはいちいち消去したりしていません。 この状態で再度Cookieを保存しない設定に変更してネットサーフィンをした際、 例えばCookieの情報を盗み取るようなサイトにアクセスしてしまった場合 保存されているCookieには影響あるのでしょうか。 また、別サイトで作成されたCookieの情報を、収集するというのはよくあることでしょうか。

  • 自分のcookieを変更する方法

    サイトにアクセスする際、 たとえば「Stealthy」を使ってIPアドレスを変更するように、 cookieを変更できるアドオン、または方法はありますでしょうか? 教えてくださると幸いです。 (できればFirefoxで)

  • Cookie データの消し方がわからない

    次のような関数で、クッキーは設定できます。 function setteiCookie(){ var history="AnythingVeryImportant"; var expiry= new Date(); expiry.setTime( expiry.getTime() + 60*60*1000); window.document.cookie= escape("history=" + history + ";expires=" + expiry.toGMTString() + ";"); } しかし次のような関数ではクッキーデータを消すことができません。 function kesuCookie(){ var history=""; var expiry= new Date(); expiry.setTime( expiry.getTime() - 1000); window.document.cookie= escape("history=" + history + ";expires=" + expiry.toGMTString() + ";"); } どうすれば消すことができるのでしょうか? また、クッキーデータを手で消す方法も教えていただけるとありがたいです。"cookie" を検索して次のようなフォルダーを見つけましたが、自分がクッキーに設定したデータを探すことができませんでした。 c:\Program Files\Netscape\Netscape\chrome\overlayinfo c:\WINDOWS\system32\config\systemprofile どうぞよろしくお願いいたします。 papashiro

  • 復活するCookie

    最近、ウイルスバスター2008が「cookie_2o7」「cookie_advertising」を検出するようになりました。以前は検出されず、信頼あるサイトをいくつか閲覧するだけで、すぐ感染(?)します。マイクロトレンドによればこの2種は有害クッキーではないようですが、以前検出されなかったのに、今では毎回検出されるのも疑問ですし、「ツール」からの「Cookieの削除」を行っても検出されることがあります。 これらのCookieが悪質なウイルスやスパイウェアの可能性はあるのでしょうか?また、無害なCookieであるならば、バスターが検出しなくなる方法はあるのでしょうか? 分かる方がいらっしゃれば、よろしくお願いします。

専門家に質問してみよう