こんにちは
最近PHPを始めました。
php4のsessionについて伺いたいのですが。

session_*関数で、/tmpに作られる、sess+sessionID
と言うファイルは、いつまで有効なのでしょう?
また、cookieにように生存期間を指定してやることは
出来るのでしょうか?

よろしくお願いいたします。

#環境は、Linux & php4.01p12 & apache1.3.20です。

このQ&Aに関連する最新のQ&A

とは IDS」に関するQ&A: 拡張子「ids」とは?

A 回答 (1件)

PHPのメーリングリストや検索を活用なさってはどうですか?



参考URL:http://sidecar.ics.es.osaka-u.ac.jp/cgi-bin/nama …
    • good
    • 0
この回答へのお礼

お礼が大変遅くなって申し訳ありません。
メーリングリストには参加致しました。

お礼日時:2001/07/19 02:19

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

QPHP session_destroyとsession_unsetの違い

session_destroyとsession_unsetの違いは何でしょうか
session_unsetはセッションの開放します
session_destroyはセッションを破壊しますといわれても
よくわかりません。

Aベストアンサー

unsetはセッションに登録されている要素の開放
destroyはセッション自体の開放ですね。

destroyを読んだ後はセッションが使用できない
(出来ても動作が保証されない)
と言った感じで把握してください。

Qphp session cookie 概念

いつもお世話になっております。

php&mysqlにて会員制サイトを作成中です。
sessionを用いて期待する動作は実現できたのですが、どうしても理解できないことがあります。

sessionについて色々と調べますと、
1)サーバーサイドで処理する方式(URIに埋め込む)
2)クライアントサイドで処理する方式(cookieに渡す)
となっております。

ところが、
作成中のサイトでは、cookieを利用していないのですが、URIにも何も付加されていません。
それでも、ログイン・ログオフ状態はそれぞれ望む通りに表示されています。

これは一体どういうことなのか、お分かりになる方がいらっしゃいましたらご回答をお願い致します。

以下に大まかなコードを。

ログイン直後のページ
session_start();
session_unset();

if(!isset($_SESSION["user_session"])){
session_register("user_session");
$_SESSION["user_session"]=$hoge;
}

その他のページ
session_start();

$hoge=$_SESSION["user_session"];
if(!empty($hoge)){
echo "ログインしてません";
}else{
echo "ログインしてます";
}

以上のようなものです。

マイページはIDとパスワードで認証しており、本人以外は見ることができないのですが、その他のページはログインすれば誰でも見ることができるようになっています。

現段階で特に暗号化などの処理は施しておりませんが、セキュリティー関連は今後の作業として予定しております。

個人サイトを作り始めて半年で、色々と不勉強な部分、理解が不十分な部分がございます。
分かりやすく説明いただけると助かります。

いつもお世話になっております。

php&mysqlにて会員制サイトを作成中です。
sessionを用いて期待する動作は実現できたのですが、どうしても理解できないことがあります。

sessionについて色々と調べますと、
1)サーバーサイドで処理する方式(URIに埋め込む)
2)クライアントサイドで処理する方式(cookieに渡す)
となっております。

ところが、
作成中のサイトでは、cookieを利用していないのですが、URIにも何も付加されていません。
それでも、ログイン・ログオフ状態はそれぞれ望む通りに表示...続きを読む

Aベストアンサー

文面を見る限り、$_SESSION変数の概念が理解されてないのかな、と思われます。もし私の認識違いでしたらすみません。

$_SESSIONという変数が、サーバサイドでクッキーの役割をしてくれる、と思ってもらってよいかと思います。
私が知る限り「画面遷移しても一定の変数=値を保持し続ける」方法として
・サーバサイドで処理するURI(?in_ymd=20080225&kbn=1 など)
・クライアントのクッキーに渡す
・サーバサイドの$_SESSION変数を使用する
の3種類があります。
ソースを拝見する限り、3番目の$_SESSION変数を利用してうまくセッションが確立されているかと思います。cookieを利用していなく、URIにも何も付加されていなく、「どうしてなんだろう?」と思われるということはセキュリティ的にもOKではないかと思います。URLに平文で表示されては危険ですからね。
$_SESSION変数は上手に使うと効果的です。いろいろな場所で使用することを見越し、場面場面でクリアしやすい2次元連想配列($_SESSION['auth']['login_id']のように)にすることをおすすめします。
また認証情報だけでなく、Form入力値の受け渡しにも利用できます。
ちなみに$_SESSION変数には有効保持時間があります(確かデフォルトで25分ほど)。無操作で30くらい放置すると、自動クリアされます。
いずれにしても$_SESSION変数を使用することが常道となってますので、知らず知らずのうちに、マスターされてしまったのかな、と思います。

文面を見る限り、$_SESSION変数の概念が理解されてないのかな、と思われます。もし私の認識違いでしたらすみません。

$_SESSIONという変数が、サーバサイドでクッキーの役割をしてくれる、と思ってもらってよいかと思います。
私が知る限り「画面遷移しても一定の変数=値を保持し続ける」方法として
・サーバサイドで処理するURI(?in_ymd=20080225&kbn=1 など)
・クライアントのクッキーに渡す
・サーバサイドの$_SESSION変数を使用する
の3種類があります。
ソースを拝見する限り、3番目の$_SESSIO...続きを読む

QPHPの勉強のためにApacheをインストールしましたが、Apache

PHPの勉強のためにApacheをインストールしましたが、Apacheが起動できません。

公式サイトから2.2.16をDLしてインストールするところまでは問題なかったのですが、画面右下のタスクバーのところには添付のような表示になったままです。アイコンをダブルクリックして[Apache Service Monitor]を開いても[Service Status]は空欄です。

とりあえず、PHP5のインストールも続けてやってみまして、各参考サイトでご紹介されている通りに[httpd.conf]ファイルを追加・修正しました。
<追加修正箇所>
・Listen 8080
・LoadModule php5_module c:/php/php5apache2_2.dll

疑心暗鬼のまま動作確認をしようと[Start Apache in Console]を実行するとコンソール画面は真っ黒でしたので、正常と判断しました。ブラウザでhttp://localhost:8080を打つと、It works!が表示されました。これで、Apacheの動作は問題なくできているものと思っていましたが、試しにPHPの本に載っているPHPサンプルファイルを所定のディレクトリに置いても、実行されませんでした。

単純な問題かもしれませんが、ご教授を宜しくお願い致します。

当方の開発環境は以下の通りです。
・Windows XP Professinal SP3
・IISは未インストール

PHPの勉強のためにApacheをインストールしましたが、Apacheが起動できません。

公式サイトから2.2.16をDLしてインストールするところまでは問題なかったのですが、画面右下のタスクバーのところには添付のような表示になったままです。アイコンをダブルクリックして[Apache Service Monitor]を開いても[Service Status]は空欄です。

とりあえず、PHP5のインストールも続けてやってみまして、各参考サイトでご紹介されている通りに[httpd.conf]ファイルを追加・修正しました。
<追加修正箇所>
・Listen 8080
・...続きを読む

Aベストアンサー

特定のバージョンのPHPである必要がないなら、XAMPPとかWAMPといったパッケージを利用した方が簡単だと思いますよ。

QSESSIONとCOOKIE

はじめまして。

現在、下記環境で開発をしております。

winXP
PHP5
smarty3
Mysql

開発は一般的な検索サイトです。

全て一人で行っているものなので規模は小さいものです。

ここで質問なのですが、今セッションとクッキーの使い方について自分で説明できなくなってしまっています。

実現できているからいい

そういうつくりになっていて個人的にはあまりうれしくない状態です。

下記が僕の見解です。
【サーバー側の一時記憶領域。
セッション】
アクセス中、一時的に値を確保したい場合に使っています。

・コンボボックスに表示する内容
・検索結果の配列
・会員情報

【クッキー】
クライアント側の記憶領域
クライアント依存があるものでクッキーが有効でない設定の人ものいそう、、
利用していません。

現状はクッキーは使用できていないのですが、インターネットなどで調べると、
↓クッキー↓
クッキーとは、Webサイトの提供者が、Webブラウザを通じて訪問者のコンピュータに一時的にデータを書き込んで保存させるしくみ。

↓セッション↓
接続から切断までの通信の事

とありました。

この答えが全てだとは思いませんが、実際に値を一時的に格納するならどう考えてもクッキーが適任に思えてしょうがないのです。

ここで質問です。
場合による、となればそれまでかもしれませんが実運用されているシステムなど構築する場合、この二つの一時記憶領域をどのように使用するべきなのでしょうか?

持論、参考URLなどなんでも結構です。

よろしくお願いいたします。

はじめまして。

現在、下記環境で開発をしております。

winXP
PHP5
smarty3
Mysql

開発は一般的な検索サイトです。

全て一人で行っているものなので規模は小さいものです。

ここで質問なのですが、今セッションとクッキーの使い方について自分で説明できなくなってしまっています。

実現できているからいい

そういうつくりになっていて個人的にはあまりうれしくない状態です。

下記が僕の見解です。
【サーバー側の一時記憶領域。
セッション】
アクセス中、一時的に値を確保したい...続きを読む

Aベストアンサー

>>クッキーとは、Webサイトの提供者が、Webブラウザを通じて訪問者のコンピュータに一時的にデータを書き込んで保存させるしくみ。

そうですね、これに対してセッションは(セッション変数)
Webサイトの提供者が、Webブラウザを通じて訪問者のコンピュータに一時的にセッションIDを渡して、そのIDに対する変数をサーバー上で管理するものです。

つまり両方ともクライアント側にデータがありますが、格納される情報がまるで違います。そのデータを改ざんされて困るようなデータはクッキーに保存してはいけません。

回答です。
【セッション変数で管理すべきもの】
ログイン情報
ユーザーID&パスワードを入力して Aさんとしてログインを済ませましたという情報を持ち歩く必要があります。
たとえばWEBメール(niftyとか)の画面にこの機能が無い場合
URLを直打ちしてしまえば見られてしまいます。

【クッキーで管理すべきもの】
ユーザーID(Nifty等のログイン)
後日再度入力する必要があり 万が一そのデータが第三者にわたってもそれだけでは利用できない そしてクッキーを利用できないクライアントでも問題がない状態の場合。

>>クッキーとは、Webサイトの提供者が、Webブラウザを通じて訪問者のコンピュータに一時的にデータを書き込んで保存させるしくみ。

そうですね、これに対してセッションは(セッション変数)
Webサイトの提供者が、Webブラウザを通じて訪問者のコンピュータに一時的にセッションIDを渡して、そのIDに対する変数をサーバー上で管理するものです。

つまり両方ともクライアント側にデータがありますが、格納される情報がまるで違います。そのデータを改ざんされて困るようなデータはクッキーに保存してはいけ...続きを読む

QWindowsだとsession_set_cookie_paramsが

Windowsだとsession_set_cookie_paramsが上手く動きません。

以前 http://oshiete.goo.ne.jp/qa/5387366.html でディレクトリ分けをしているときにセッションが混ざってしまうと相談したものです。
回答していただいたものを元にsession_set_cookie_paramsを使ってみたところセッションが混ざることがなくなったのですが、このコードをWindows(というかXampp for windows)で動かすとセッション情報を保存することが出来なくなってしまいます。
(具体的な挙動としてはログインフォームなのですが延々とログインできなくなってしまいました。)

Windows版では動かせない関数なのでしょうか?
それともphp.ini等に設定が必要でしょうか?

windowsでうごかしたコードのセッション部分
if(isset($_REQUEST['PHPSESSID']))
{
session_id($_REQUEST['PHPSESSID']);
//Setting the same session id to Forums as in CRM
$sid=$_REQUEST['PHPSESSID'];
}

session_set_cookie_params(time()+36000, "/pdt/test/", "localhost");

insert_charset_header();

きちんと動作する環境
OS: Linux CentOS5
PHP:5.3
独自ドメイン上で動かしている(上記コードのlocalhostの部分はそのドメイン名としている)

上手く動かない環境
OS: WindowsXP
PHP: 5.2.9(Xamppで動かしています)
テスト環境(ドメインは指定していないため上記コードのsession_set_cookie_paramsのホスト名の部分をlocalhostとしている)

よろしく尾根がします。

Windowsだとsession_set_cookie_paramsが上手く動きません。

以前 http://oshiete.goo.ne.jp/qa/5387366.html でディレクトリ分けをしているときにセッションが混ざってしまうと相談したものです。
回答していただいたものを元にsession_set_cookie_paramsを使ってみたところセッションが混ざることがなくなったのですが、このコードをWindows(というかXampp for windows)で動かすとセッション情報を保存することが出来なくなってしまいます。
(具体的な挙動としてはログインフォームなのですが延々とロ...続きを読む

Aベストアンサー

現在localhostとなっている部分で何も指定しなければよいのではなかったでしたっけ。
既に試していますかね。


人気Q&Aランキング

おすすめ情報