タグ

phpとsessionに関するkathewのブックマーク (18)

  • PHPのsesseion_start()に失敗してセッション変数が取得できない場合の対処方法 - あるSEのつぶやき・改

    下記記事で構築した Docker コンテナを使用して、PHP のサンプルプログラムを作成しようとしたところ、セッション情報が取得できなくて非常に悩みました。 www.aruse.net こんな簡単なプログラムで、 PHP のセッション情報が参照できなかったです。 login.php <?php session_start(); $_SESSION['token'] = 1; header("Content-type: text/html; charset=utf-8"); ?> <!DOCTYPE html> <html lang="ja"> <body> <h1>ログイン</h1> <form action="login_check.php" method="post"> <table border="0"> <tr> <td>メールアドレス:</td> <td><input type=

    PHPのsesseion_start()に失敗してセッション変数が取得できない場合の対処方法 - あるSEのつぶやき・改
  • ウェブリブログ:サービスは終了しました。

    「ウェブリブログ」は 2023年1月31日 をもちましてサービス提供を終了いたしました。 2004年3月のサービス開始より19年近くもの間、沢山の皆さまにご愛用いただきましたことを心よりお礼申し上げます。今後とも、BIGLOBEをご愛顧賜りますよう、よろしくお願い申し上げます。 ※引っ越し先ブログへのリダイレクトサービスは2024年1月31日で終了いたしました。 BIGLOBEのサービス一覧

    ウェブリブログ:サービスは終了しました。
  • PHP: session_id - Manual

    Getting Started Introduction A simple tutorial Language Reference Basic syntax Types Variables Constants Expressions Operators Control Structures Functions Classes and Objects Namespaces Enumerations Errors Exceptions Fibers Generators Attributes References Explained Predefined Variables Predefined Exceptions Predefined Interfaces and Classes Predefined Attributes Context options and parameters Su

  • PHP のセッションに関する覚え書き | Thought is free

    有効期限は最終アクセスから 24分間 (1440秒) 有効期限が過ぎたセッションファイルは、 の確率で破棄される 有効期限内にセッションに再アクセスがあった場合は、期間は延長される ちなみに、なぜ かと言うと。サーバーに負荷をかけないように、 「期限が切れたセッションファイルがある程度、溜まってから消す」 という理由によるもの。 セッションの維持期間を延ばす セッションの有効期限を延ばす場合、例えば 1日 にしたい場合は ↓ こう ・プログラムに書く場合 ini_set( 'session.gc_maxlifetime', 86400 ); // 秒(デフォルト:1440) プログラムにこれを書いても期限が延びないことがある。 その場合は、セッションファイルの保存場所を変更しないとダメ。理由は後述。 ・php.ini に書く場合 session.gc_maxlifetime = 86400

    PHP のセッションに関する覚え書き | Thought is free
    kathew
    kathew 2019/05/15
    保持期限そうなってたのか。そして意外と短い
  • PHP: session_write_close - Manual

    Getting Started Introduction A simple tutorial Language Reference Basic syntax Types Variables Constants Expressions Operators Control Structures Functions Classes and Objects Namespaces Enumerations Errors Exceptions Fibers Generators Attributes References Explained Predefined Variables Predefined Exceptions Predefined Interfaces and Classes Predefined Attributes Context options and parameters Su

    PHP: session_write_close - Manual
    kathew
    kathew 2019/05/10
    エイリアスの session_commit() の方が簡潔で好き。ファイルポインタのクローズのような安心感があるけど、気をつけて都度閉じてもsession_start()後にコールした別のサブルーチン内でsession_start()しちゃったり
  • PHP: session_start - Manual

    session_start (PHP 4, PHP 5, PHP 7, PHP 8) session_start — 新しいセッションを開始、あるいは既存のセッションを再開する session_start() は、セッションを作成します。 もしくは、リクエスト上で GET, POST またはクッキーにより渡されたセッション ID に基づき現在のセッションを復帰します。 session_start() がコールされたりセッションが自動的に開始したりするときに、 PHP はセッションの open ハンドラおよび read ハンドラをコールします。 このハンドラとしては、デフォルトで組み込まれている保存ハンドラの他に PHP 拡張モジュールで提供されているもの (SQLite や Memcached など) も使えます。また、自作のハンドラを session_set_save_handler()

    PHP: session_start - Manual
    kathew
    kathew 2019/05/10
    複数回呼び出すとエラーになる。「isset($_SESSION) ?: session_start()」とでも書けば回避できるが、直接書くと意図が伝わりにくいので適当に関数を用意してやった方が良いかもしれない
  • PHPでセッションを使う方法【初心者向け】

    プログラミング初心者向けに【PHPでセッションを使う方法】を解説した記事です。セッションとは、コンピュータのサーバー側に一時的にデータを保存する仕組みです。PHPでは「session_start関数」を使います。 テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日  調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名  調査手法:インターネット調査 プログラミング初心者向けに、PHPの基礎を紹介する記事です。 今回は、PHPでセッションを使う方法について、テックアカデミーのメンター(現役エンジニア)が実際のコードを使用して初心者

    PHPでセッションを使う方法【初心者向け】
    kathew
    kathew 2019/05/10
    挙動はあってるけど、例文がいちいちおかしい(挿入直後にecho→挿入された文字が出る(セッション関係ない) unset直後にecho→エラーが出る(セッション関係ない)
  • 「有効期限内にセッションに再アクセスがあった場合は、期間は延長される」のセッションとは?

    この記事にわかりやすく纏められていますが、 セッションの更新:セッションファイルの更新 有効期限の過ぎたセッションファイルにアクセスがあった場合,有効期限が再度延長される.つまり有効期限切れのセッションファイルはその時点で無意味なものになるのではなく,単にいつ削除されても構わない状態になるということを意味する. session_start()でセッションを使用したことになる。(延長もこれを基準) 例えば下記の場合…… => この場合 session_start() するのでアクセスがありますね。($_SESSIONは初期状態では未定義) ちなみにCookieはデフォルトではブラウザを閉じるまで、あるいは以下のように明示的に指定した場合は最初のアクセスからその時間まで(自動更新は工夫が必要)です。 くわしくはリンク先記事を読んで下さい。 // どのバージョンでも使える書き方 ini_set(

    「有効期限内にセッションに再アクセスがあった場合は、期間は延長される」のセッションとは?
  • サービス終了のお知らせ

  • PHP/「ページの有効期限切れ」対策 - Glamenv-Septzen.net

    id: 29 所有者: msakamoto-sf 作成日: 2005-07-10 23:28:13 カテゴリ: PHP Web [ Prev ] [ Next ] [ PHP ] 特にIE系でよく見られる「ページの期限切れ」画面。これを発生させないためにはどうすればよいのか、現在は少しGoogleで検索するだけで実に様々な対策方法が蓄積されている。だが、そもそも「ページの期限切れ」とはいったい何を示しているのか?いったいこの画面はユーザーに何を訴えているのだろうか? 今回はPHP言語に限定して、この現象を可能な範囲その原因を追及し、抜的対策と巷間にあふれる対策方法の是非を検討する。最終的に必要となった知識はHTTPのRFC2616のキャッシュ機能およびPHPのext/session/session.cのソースコードとなった。 「ページの有効期限切れ」が発生するスクリプト・発生しないスクリ

  • セッションの有効期間とか設定とか挙動とかを調べました - [PHP + PHP] ぺんたん info

    PHPでログインページを作ったりするときに、よくセッションを使ったりすると思いますが、 じゃあセッションってどのようになってるのでしょうか。 [参考]セッション固定攻撃 [参考]GPC(GET/POST/cookie)以外の情報を送るアラワザ [参考]アンダーバーのあるドメインではセッションクッキーは使用できません セッションの破棄されるタイミング ガベージコレクト(ガベージコレクション、ガーベッジコレクション、ガーベッジコレクタともいわれます)とは、『ごみ拾い』という意味です。 session_start()が行われたときに、session.gc_probabilityを分子、session.gc_divisorを分母とする確率で、 session.gc_maxlifetimeよりファイル更新日付の古いファイルをsession.save_pathから削除します。 デフォルトでは、1/10

  • セッション - 2.x

    This document is for a version of CakePHP that is no longer supported. Please upgrade to a newer release! セッション¶ CakePHPPHP 標準の session 機能上に、ユーティリティ機能一式と ラッパーを提供します。セッションはリクエストにまたがるユニークユーザーの識別と 各ユーザーごとの永続的データの格納を可能にします。 セッションの設定¶ セッションの設定は Configure に格納されます。トップレベルの Session キー下に格納され、いくつかのオプションが用意されています: Session.cookie - セッションクッキーの名前を変更します。 Session.timeout - CakePHP のセッションハンドラがセッションを破棄するまでの時間を 分

  • CakePHP で Session の保存先にデータベースを使用する方法

    CakePHP 2.1 では (それ以前でも) Session の保存先に php と cake と database を設定できるようになっています。php は通常通り、cake はおそらく CakePHP のどこかに保存をしてくれる、database はデータベースの Session 用のテーブルに Session を保存してくれる機能です。 Session をデータベースに保存する設定 データベースで Session を管理する場合は以下のように Session.defaults に database を設定します。その他の設定は分かりやすくするために一緒に掲載しています。ちなみにこの記述は bootstrap.php などに書いて下さい。 Configure::write('Security', array( 'level' => 'high', 'salt' => 'qwerty

  • CakePHPのセッションタイムアウトの指定はSession.timeoutだけではダメだった

    CakePHP 2.xで、セッションタイムアウトの時間を指定しようとすると、下記のように書くと思います。 Config/core.php Configure::write('Session', array( 'defaults' => 'php', 'timeout' => 1440, //1days ←単位は分 )); しかし、これだけではダメだったりするのです。 具体的には、1日経たなくてもセッションタイムアウトしてしまいます。 その理由は、PHPでのセッションファイルのガベージコレクションにあります。 PHPでは、セッションを開始すると(session_start())、ふつうはセッションファイルを作成します。 CentOS6.2にyumでPHPを入れた場合は、/var/lib/php/sessionあたりです。 CakePHPのcore.phpで、Session.defaultsを

    CakePHPのセッションタイムアウトの指定はSession.timeoutだけではダメだった
  • PHPアプリケーションのセッション管理にAWS ElastiCacheを使う | DevelopersIO

    こんにちは。望月です。 AWS上でシステムを構築する上で、「AWSのお作法に従う」のは印象以上に重要です。お作法に関しては色々とあるのですが、 *1その中でも一番大きいのは「サーバーは故障するものという前提で設計する」ことにあると思います。例えば、以下の様な点です。 WebサーバやAPサーバなどはロードバランサを介して冗長化し、単一障害点ではなくす 保管する必要のあるデータは全てS3に保管するか、EBSスナップショットを取得する等のバックアップを実施する DBはRDSをできるだけ利用することで、Multi-AZによる障害時自動フェイルオーバーによるサービス継続を実施する 上記1番目の「Web/APサーバの冗長化」ですが、オンプレミスからの移行の際にはこれへの対応が結構大変だったりします。例えば、アプリケーションからローカルのファイルを読み書きするような処理が入っている場合、そのファイルを両

    PHPアプリケーションのセッション管理にAWS ElastiCacheを使う | DevelopersIO
  • 『CakePHP』を使ってみる 〜11〜 セッションの使い方確認 - ざ・わーるど.jp@はてな

    『CakePHP』1.2でのセッションの使い方確認。 セッションについては 1.1 から変わった部分はないみい。 SessionComponent Class Reference とりあえず、コントローラにいろいろ書いて確認してみた。 設定 セッションデータの保存場所 設定でセッションデータの保存場所についての設定。 /home/theworld/cake/project/tutorial/config/core.php 'php' Uses settings defined in your php.ini. 'cake' Saves session files in CakePHP's /tmp directory. 'database' Uses CakePHP's database sessions. 保存場所は CakePHP の tmp にしてみたいので、 cakeを指定。 Co

    『CakePHP』を使ってみる 〜11〜 セッションの使い方確認 - ざ・わーるど.jp@はてな
  • 【CakePHP】セッションを使用する | POPOTOO

    バージョン:CakePHP 2.2.2 セッションの使用方法について。 •セッション保存 $this->Session->write('name’, 'テスト’); •セッション取得 $this->Session->read('name’) •セッション削除 $this->Session->delete('name’) •セッションチェック SessionComponent::check('name’) ▽簡単な動作確認 「TopController」に一度アクセスをしてから、 「Page1Controller」にアクセスすると’テスト’と表示されます。 同時にセッションの値を削除するので、 「Page1Controller」をリロードすると"セッションに格納された値はありません!"と表示されます。 •TopController.php $this->Session->write('nam

    【CakePHP】セッションを使用する | POPOTOO
  • セッション - 2.x

    セッション¶ class SessionComponent(ComponentCollection $collection, array $settings = array())¶ CakePHPSessionComponent は、複数のページにわたってクライアントのデータを継続して 保持する方法を提供します。このコンポーネントは $_SESSION 変数に関連した いくつかの便利なメソッドを持つラッパのように振舞います。 CakePHP ではセッションの複数の方法で設定を行えます。 詳しくは セッションの設定 を参照してください。 セッションデータを伝達する¶ SessionComponent はセッション情報を伝えあうために使われます。 ユーザへ出力するメッセージの作成はもちろんのこと、基的な CRUD 機能が含まれます。 覚えておきたいことは、 ドット記法 により配列構造で

  • 1