ダウンロード sample.zip (14.7 KB)
本記事ではセッション管理ライブラリHTTP_Session2を用いて携帯電話からのユーザー認証、会員制ページの作成、セッション管理、デバッグの例についてサンプルを交えながら説明します。
はじめに
携帯電話ブラウザを使ってWebサイト上で認証する場合、通常は携帯電話端末に割り当てられている一意なID(端末ID、後述)を取得して認証情報として利用します。
携帯電話向けブラウザの多くはまだクッキーに対応していませんので、認証ページを通過した以降の処理は
- 画面ごとに毎回端末IDを取得してDBと照合するなどして認証の確認を行う
- 認証されたという情報をセッションに保存してセッションを参照することで認証の確認を行う
上記2通りの方法に分類されると考えられます。
1)の方法だと毎回認証の処理が呼び出されサーバーへの負荷も大きくなりがちなので2)の方法を用いる場合が多いです。
本記事ではセッション管理ライブラリHTTP_Session2を用いて携帯電話からのユーザー認証、会員制ページの作成、セッション管理、デバッグの例についてサンプルを交えながら説明します。
端末IDはキャリアによって呼び名が違います。NTTドコモでは「iモードID」、auでは「EZ番号」、ソフトバンクモバイルでは「端末シリアル番号」と呼ばれておりますが、本記事内では便宜上「端末ID」とします。
| ライブラリ名 | 概要 |
| HTTP_Session2 | セッションを扱うライブラリ |
| Net_UserAgent_Mobile | 携帯電話機種判別、プロパティ取得を行うライブラリ |
| Net_IPv4 | IPアドレス、ネットワーク情報をチェックするライブラリ |
上記ライブラリを利用して各機能の実装を説明します。
対象読者
PHPでのWebアプリケーション開発について基本的なことを理解している方を対象とします。
サンプルアプリケーションの概要
本記事で作成するサンプルは、以下の表のとおりです。
| ファイル名 | 概要 |
| Session.class.php | セッション管理を行うクラス |
| config.php | DB接続情報を記述しておくPHP |
| insert.php | サンプルで使用するユーサーデータを作成するPHP |
| login.php | ログイン、かんたんログインを行う画面を出力するPHP |
| index.php | ログイン後の画面を表示するPHP |
| image.php | ログイン / 未ログインの状態を判断して画像を表示するPHP |
| logout.php | ログアウトを行うPHP |
| profile.php | ユーザー情報を変更するPHP |
| output_session.php | デバッグ用のPHP |
| MySmarty.class.php | Smarty拡張クラス |
| Util.class.php | 接続元IPアドレスが携帯キャリアのものかチェックするクラス |
作成するサンプルの概要図は以下のようになります。
動作確認環境
- CentOS 5.3
- Httpd 2.2.14
- PHP 5.3.2
- MySQL 5.1.50
事前準備
ライブラリのインストールは以下のコマンドで行います。「--alldeps」オプションで依存する他のパッケージも同時にインストールします。
# pear install --alldeps HTTP_Session2 # pear install --alldeps Net_UserAgent_Mobile # pear install Net_IPv4
- 修正履歴
-
- 2010/10/11 22:48 PHP内部文字コードと出力文字コードを分ける処理を追加
- 2010/10/07 17:01 パスワード保存時の処理を変更
- 2010/10/06 14:15 かんたんログイン利用時の注意点を追加
- 2010/10/03 22:44 MySQLへの接続の際の文字コード指定、簡単ログインの際に携帯キャリアのIPアドレスか判定する処理を追加
この記事は参考になりましたか?
- 目的に応じて適材適所で使うPHPライブラリ連載記事一覧
-
- PHPで作成する携帯会員サイトの基本
- PHPUnitでできる単体テスト
- PHPで行う動画変換(後編)
- この記事の著者
-
山田 祥寛(ヤマダ ヨシヒロ)
静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるLaravel実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
-
WINGSプロジェクト 片渕 彼富(カタフチ カノトミ)
<WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。 2026年時点での登録メンバは約50名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書、記事多数。 RSS X: @WingsPro_info(公式)、@WingsPro_info/wings(メンバーリスト) Facebook
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア

