• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:クッキーが取得できません)

クッキーが取得できない理由とは?

このQ&Aのポイント
  • あるページに<IMG>タグを設置し、SCR属性にPHPページを指定して、そのPHPページでクライアントに保存してあるクッキーを取得したいのですが、思ったようにできません。
  • SCR属性に指定したURLを直接ブラウザでコールすると、期待どおりクッキーが取得できます。ファイルへの書き込みやDBへのアクセスなどは問題なくできるのですが、クッキーの取得だけができません。
  • これはセキュリティの関係で、元々できないのでしょうか?

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

  • ベストアンサー
  • shogo0809
  • ベストアンサー率47% (25/53)
回答No.1

・img要素にscrという名前の属性はありません。 src属性ならありますが、HTMLの記述をミスしていませんか? ・cookieはどのように送信していますか? PHPならば通常setcookie()関数を使用していると思いますが。とりあえず以降そうだと仮定します。 setcookie()をどの様にコールしているかでCookieを読めるURLなどが変わってきます。 詳しくは http://jp2.php.net/manual/ja/function.setcookie.php を読んで頂くとして ・3番目の引数は指定していますか? 指定しない場合のデフォルトは30日間ですが、期限を越えるとCookieは取得できません。 ・4番目の引数は指定していますか? 指定しない場合は発行したPHPスクリプトの設置場所(URL)のカレントディレクトリとなります。 「同じサイト」の意味がよくわかりませんが、同じサーバーだとしてもこの引数を指定しないと 同じディレクトリ、または下位ディレクトリでしかそのCookieを取得することはできません(サーバーに送信されません)。 多分この辺だと思いますが……↑を読んでもダメだったら 実際のHTMLやPHPスクリプトを一部で良いので載せてもらえると回答がしやすいと思います。

Hamuuu
質問者

補足

shogo0809様 ご回答ありがとうございます。 scr属性は質問の際のタイプミスです。失礼致しました。 クッキーの書き込み、読み出し自体は問題なく行えています。 クッキーの書き込み:http://www.example.com/setcookie.php クッキーの読み出し:http://www.example.com/getcookie.php という2つのスクリプトがあり、それぞれは正常に動作します。 クッキーも期待通りの値を読み書きできます。 ところが、読み出しスクリプトを、全く別のドメイン(たとえば、 http://www.practice.com/result.html)のページに、 <img src="http://www.example.com/getcookie.php"> として埋め込むと、クッキーの読み出し処理だけが動作しません。 要は、「http://www.example.com/setcookie.php」を経由して「http://www.practice.com/result.html」にアクセスするユーザー を一意に識別したいのですが、「http://www.practice.com/」はCGIが使えないため、このような方式を考えています。 他の方法があればいいのですが、現在のところクッキーを使用する 方法しか思いつきません(^^;。IPアドレスは上記IMGタグ方式でも とれますが、完全に識別するには不安が残りますし・・・。 よろしくお願い致します。

関連するQ&A