• ベストアンサー

サイト移動によるセッションについて

サイトaでセッションIDを取得し〈a href〉のリンクでサイトbに飛ぶ、そのあと〈a href〉のリンクでサイトaに戻ってもセッションIDを保持しておく方法を知ってる方いませんでしょうか。

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

  • ベストアンサー
  • masa6272
  • ベストアンサー率66% (93/140)
回答No.1

普通にsession_start()を使えば、セッションIDはブラウザのクッキーに保存されています。ブラウザを落とさない限り、別サイトに行ってもサイト a のセッションIDはきえません。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 携帯サイトのセッションについて

    携帯サイトのセッションについて質問があります。 サーバA と サーバBがあり サーバAでセッションIDを取得し、次にサーバBに行く、 サーバBから再びサーバAに戻ってきた場合、 サーバAで取得した セッションIDは保持されるのでしょうか。 以上よろしくお願いします。

    • ベストアンサー
    • PHP
  • セッションidの使い方について

    参考書を読んだり調べたのですが、セッションidの使い方がよくわからないので質問させて下さい。 PHP4.3.10、 session.use_only_cookies off session.use_trans_sid offになっています。 携帯でログイン(login.php)後 メニュー(menu.php)でDBに登録されているIDとパスワードが一致したら SIDを発行してユーザの識別をしたいと考えています。 そこでわからないことがあります。 メニューにはA.php、B.php・・とあるのですが リンクするたびに <a href="A.php?<?php echo SID;?>">A.php</a> <a href="B.php?<?php echo SID;?>">B.php</a> のようにするのか、または$SID=session_id();のようにするのでしょうか。 そしてA.phpやB.phpでの識別はSIDをファイルなどに保存してその都度 これを呼び出し比較していくのでしょうか。 また、$_SESSION['a']="123";と session_register("a"); $a="123"; というのは同等の意味でしょうか。 質問ばかりですがどうぞよろしくお願いします。

    • ベストアンサー
    • PHP
  • 携帯サイトで勝手にセッションIDを埋め込まれた場合どんな被害が考えられますか?

    あるASPを使って携帯サイトを作成したのですが、 ソースの一部が何者かに勝手に書き換えられてしまい、 <a href="?PHPSESSID=****&PHPSESSID=****&PHPSESSID=****&PHPSESSID=****&PHPSESSID=****&PHPSESSID=****&PHPSESSID=****&PHPSESSID=****&PHPSESSID=****">テキスト</a> となっていました。 ※****にはそれぞれ異なるセッションIDが書かれていました。 このリンク先に行くと、このページのURLにこのセッションIDが埋め込まれてしまうのですが、 これによってどんな被害が考えられますか? どのような意図でこのような書き換えを行ったのでしょうか? 教えて下さい。

    • 締切済み
    • PHP
  • 携帯でセッションを使う

    携帯でセッションを使うのですが、通常であればセッションを使えるものと使えないものがあるので以下のようにしています。 <a href="next.php?<?=SID?>">次ページ</a> 要するにURLにセッションIDを付加してページ間移動しているのですが。 これだと http://xxx.jp/next.php?PHPSESSID=abcdefg とURLを直打ちすると セッションの中身をプログラム側で取得してしまうので それを回避したいのですがどのようにすればよろしいでしょうか?

    • 締切済み
    • PHP
  • 古いセッションが消えない

    フォームからのデータを受け取るPHP、sesssion.phpが下記のとおりだとします。 <? header('Cache-Control: nostore, no-cache, must-revvalidate'); session_cache_limiter('private_no_expire'); session_start(); header("Content-Type: text/html; charset=EUC"); $http = $_SERVER['HTTP_REFERER']; //どこから来たか $form_id = $_POST['form_id']; $form_pass = $_POST['form_pass']; $flg = $_POST['t']; $session = session_id(); if($http == "http://192.168.1.250/~fukazawa/session/form.html"){ $_SESSION['id'] = $form_id; $_SESSION['pass'] = $form_pass; } $test = $_SESSION['id']; $test1 = $_SESSION['pass']; if($flg == "t"){ echo <<<EOM <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=euc-jp"> <title> </title> </head> <body> ◎$test<br />$test1 <br><br><br><a href="session.php">test</a><br><br> <a href="session.php?t=test">test2</a> </body> </html> EOM; }else{ echo <<<EOM <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=euc-jp"> <title> </title> </head> <body> ◎$test<br />$test1 <a href="session.php">test</a><br> <a href="session.php?t=test">test2</a> </body> </html> EOM; } ?> 引数で表示させる内容を異なるようにするPHPファイルです。 仮に一回目にIDを「てすと」、パスワードを「ttt」でログインした場合、session.php・session.php?t=testに表示されるのは、 「◎てすと ttt」 です。 そして、これをいったんログアウトして、今度は ID「二回目」、パスワード「two」でログインすると、 session.phpには 「◎二回目 two 」と表示されますが、 session.php?t=test に飛んだ場合、 一回目のIDとパスワード、つまり 「◎てすと ttt」 が表示されてしまいます。 ブラウザをリロードすると 「◎二回目 two 」 と表示されます。 これは、前のセッションがまだ残ってしまっているということなのでしょうか。 対処法が分からず困っています。

    • ベストアンサー
    • PHP
  • データ受け渡し時のSessionの使い方

    いつもお世話になっております。 現在A.aspからB.aspにデータを渡したいと考えています。 Sessionを用いてA.asp上のリンクからClickする箇所によって引数をかえて、Bに渡したいのですが、Aの最下層に書かれたSessionのみが渡る状態です。 (下記の例で言うと、どれをクリックしても333が表示されます。) 簡単で申し訳ありませんが、下記にソースを書きます。 何かお気づきの点があれば、ご教授ください。 宜しくお願い致します。 ※A.aspの内容 <% session("key") = "111" Response.Write "<a href=""B.asp""> データ1</a>" %> <% session("key") = "222" Response.Write "<a href=""B.asp""> データ2</a>" %> <% session("key") = "333" Response.Write "<a href=""B.asp""> データ3</a>" %> ※B.aspの内容 <html> <head> </head> <%Response.Write session("key")%> </HTML>

  • sessionの使い方

    詳しい方がいましたら、ご教授下さいませ。 ---a.php--- <?php if(!isset($_SESSION['n']) {  session_start();  $_SESSION['n']='1'; } ?> ---------- ---b.php--- <?php session_start(); $_SESSION['n']='2'; ?> ---------- ---c.php--- <?php session_start(); echo($_SESSION['n']); ?> ---------- a.phpで、'1'をセットして保持し、 b.phpが動作したとき、'2'に入れ替えているのですが、 c.phpで確認すると、何故か'1'のままです。 一度セットした値を、入れ替えることって出来ないのでしょうか?

    • ベストアンサー
    • PHP
  • 携帯サイト用PHPのセッションについて

    はじめまして。 携帯サイトでPHPのセッションを使ってリンク先の【Location:】内にURL情報を埋め込みたいのですが、「携帯ではクッキーがつかえない」「【session.use_cookies】と【session.use_trans_sid】の設定で使えるようになる。」と見たので試しているのですがうまくいきません。助けてください。 今試してみている記述内容は下記となっています。 ・記述内容: >>test_a/1.php <?php ini_set("session.use_cookies","0"); ini_set("session.use_trans_sid","1"); session_start(); $_SESSION['test'] = "http://xxx.xx/test_a/"; header("Location:http://xxx.xx/test_b/2.php? .session_name().'='.session_id()."); exit; ?> >>test_b/2.php <?php ini_set("session.use_cookies","0"); ini_set("session.use_trans_sid","1"); session_start(); echo "セッションは" .$_SESSION['test']; ?> 試しに"echo"で表示させてみたところ、PCでは「セッションはhttp://xxx.xx/test_a/」と表示されるのですが、携帯(FOMA F904i)では「セッションは」しか表示されません。 どなたか、よろしくお願いします。

    • 締切済み
    • PHP
  • Cookie非使用のセッションについて

    携帯サイトを作成しているので、URLに直接IDを埋め込む形でセッションさせたいのですが、うまくいきません。 レンタルサーバ(heteml)には『php.iniの設定-session.use_trans_sid』が用意されているのですが、クッキー環境であればそちらを優先したいので、携帯サイト向けのファイルのソース上で何とかしようとしている所です。 そんな訳で、サーバーの『php.iniの設定-session.use_trans_sid』はOFFにした状態で **************a.php********************************** <?php ini_set("session.use_cookies","0"); ini_set("session.use_trans_sid","1"); session_start(); $_SESSION["test"] = "テストです"; echo "<a href=\"b.php\">セッションテスト</a>"; ?> ***************************************************** **************b.php********************************** <?php ini_set("session.use_cookies","0"); ini_set("session.use_trans_sid","1"); session_start(); echo $_SESSION["test"]; ?> ***************************************************** と、したのですがうまくいきません。 ini_set関数の使い方が間違っているのでしょうか? また、手動でIDを埋め込むやり方でも構いませんので、 ご存知の方いらっしゃいましたら宜しくお願いします!

    • ベストアンサー
    • PHP
  • PHPのセッションIDについて

    PHP5.3.14を使っています。 セッションについて勉強中です。 セッションを使ってページの表示回数をカウントアップするソースと、 そのセッションを破棄するソースの2種類を用意しました。 ※それぞれ、session_id()をecho表示しています。 クッキーを使った状態でこれらを動かすと、 リセットする(リンクを押してリロードする)度にセッションIDが変わるのですが、 クッキーを使わずに定義済み定数SIDを使って動かすと、 カウント値は元に戻るのですが、 リセットしてもセッションIDが変わりません。 どうすれば、新しいセッションIDを発行(SIDの値を更新)できるのでしょうか? よろしくお願いします。 【以下、ソース2種類と、iniファイルの一部です】 ●up.php <?php session_start(); if (empty($_SESSION['count'])) { $_SESSION['count'] = 1; } else { $_SESSION['count']++; } echo ("###".'"'.session_name().'='.session_id().'"'."</br>"); ?> <p> <?php echo $_SESSION['count']; ?> 回目。 </p> <p><a href="up.php">カウントアップ</A> </p> <p> <a href="reset.php">リセット</A> </p> ●reset.php <?php session_start(); echo ("###".'"'.session_name().'='.session_id().'"'."</br>"); echo ("##### ". $_SESSION['count']."回表示しました。</br>"); $_SESSION = array(); if (isset($_COOKIE[session_name()])) { setcookie(session_name(), '', time()-42000, '/'); } if(isset($_REQUEST[session_name()])){ $_REQUEST[session_name()]="" ; } session_destroy(); ?> <p> <a href="up.php">初めからカウントする</A> </p> ●php.ini (クッキーを使わずSIDを使うを設定) session.use_trans_sid = 1 session.use_only_cookies=0 session.use_cookies=0

    • 締切済み
    • PHP
このQ&Aのポイント
  • ブラザー製品MFC-J6583CDWを使用しているが、小冊子印刷の設定で文字が小さく印刷される問題が発生している。
  • 小冊子印刷の設定をA4サイズで行っているが、仕上がりの印刷物の文字が非常に小さい。
  • ブラザー製品のMFC-J6583CDWを使用しているが、小冊子印刷の設定時に文字のサイズが小さくなる問題が起こる。
回答を見る