第9日 PHP標準ライブラリPEAR
1時限目:PEAR::DBでデータベースサーバの違いを意識しない
2時限目:PEAR::Authでセキュアなアプリケーシヨンを実現
PEARは、PHPスクリプトをベースとしたPHP標準のライブラリです。
PEARでは、実にさまざまな機能を提供していますが、その中でも特に代表的なPEAR::DB、PEAR::Authをとりあげます。
PEAR::DBは「データベース抽象化レイヤー」と呼ばれるデータベースアクセス用の共通インターフェースです。PEAR::DBを利用することで、利用するデータベースを意識する必要がなくなりますので、コードの再利用性を向上することができます。PEAR::Authは「フォーム認証」をサイトに実装するための手段を提供します。
◆◆◆◆まとめ(1時限目)◆◆◆◆
●PEAR::DBは「抽象化レイヤ」と呼ばれるインタフエースで、データベースによる仕様差を吸収し、アプリケーシヨンから統一された手順でデータベースを操作することを可能にします。
●プリペアド・ステートメントを利用することで、命令の実行効率を向上できる、パラメータのエスケープ処理を自動化できる、などメリットがあります。
●PEAR::DB上で動的にSQL命令を生成する場合には、原則として「プレスホルダ」を利用すべきです。
●出力データをクライアントにダウンロードさせるためには、コンテンツタイプとして「application/octet-stream」を、また、content-Dispositionヘッダをセットします。
★SQLiteデータベースに登録したスケジュール情報を、タブ区切りテキストの形式でダウンロード。
①・アクセスすると、ダウンロードダイアログが開きます。・ダウンロードしたタブ区切りテキストファイルをMicroSoft Excelで開きます。 |
②DB.phpは、データベースを操作するための基本となるDBクラスやデータベース操作で発生したエラーを管理するDB_Errorクラス、結果セットを操作するためのDB_Resultクラスなどを含みます。 |
③「schedule.sqlite」データファイル |
※ |
◆◆◆◆まとめ(2時限目)◆◆◆◆
●PEAR::Authライブラリを利用することで、フォーム認証を実現できます。フォーム認証では、自由なレイアウトでログインページを設定できるのが特徴です。
●PEAR-Authでは、ユーザ情報をファイルの他、データベースやLDAP経由で取得することができます。
●外部ファイルをアプリケーション共通でインクルードするには、auto_prepend_fileパラメータを利用すると便利です。
●.htaccessファイルを利用することで、ディレクトリ単位にパラメータを設定することができます。
●.htaccessファイルでパラメータを設定する場合には、(1)httpd.confのAllowOverrideディレクトリがAllである、(2).htaccessで設定可能なパラメータであることを確認してください。
★「スケジュール帳」の様なアプリケーションは、当然、関係のない第3者には見せたくないものです。そこで、アプリケーションに対してアクセス制限をかけます。
①・ログインページを生成するユーザ定義関数・認証を発行・未認証時に以降の処理を強制終了。 |
② |
③ |
④ |
※ |
◆◆◆◆まとめ(2時限目)◆◆◆◆
★