Codeigniter

タグ

2011年5月25日 | コメント/トラックバック(0) |

カテゴリー:CodedIgniter

CodeIgniterの導入

PHPフレームワークの本命

PHPフレームワークと言えば、「CakePHP」、「symfony」、「Zend Framework」が3大フレームワークとして有名ですが、ここのところ急激にシェアをのばしてきているのが、CodeIgniter(コードイグナイタ)です。

今まで社内のWeb業務管理システムは純粋にPHPのみで作成してきましたが、機能を追加する度にあちこち手直しをしなければならず、継ぎ接ぎだらけになってきているような気がします。

そこで作業効率を上げるため、心機一転フレームワークを導入しようと考え、どのフレームワークがいいのか色々検討してみました。

上記の3大フレームワークは私にとって、どれも一長一短が有り、フレームワークの導入をあきらめかけてたときに、CodeIgniterの存在を知りました。

私が、CodeIgneiterの導入を決めた理由は、軽量、高速、高いパフォーマンスを持っている点。又、フレームワークの導入は、新しい言語を一から覚えるのと等しいほどの労力を要しますが、学習コストが低く、初心者にも優しいフレームワークであるという点です。

CodeIgniterも一通り使えるようになったらこのサイトで紹介していきたいと思います。

CodeIgniterのインストール

CodeIgniterの日本語ユーザーズガイドページにはほとんどの事が網羅されているみたいなので、これからCodeIgniterを勉強するにはかなりお世話になるページになると思います。

http://codeigniter.jp/user_guide_ja/toc.html

①尚、上記日本語ユーザーズガイドのダウンロードページからダウンロードしようとしたら、最新版は本家サイトへ飛んでしまいます。日本語版のインストールはhttp://codeigniter.jp/からダウンロードをクリックします。

②下の方にあるリリースファイル一覧から、最新のパッケージをクリック。

③「保存」ボタンをクリックして、zipファイルをローカルフォルダにダウンロードします。

④解凍したフォルダごと、ローカルの初期フォルダにコピーし、FFFTPでレンタルサーバーにアップロードします。

⑤application/config/config.php ファイルをテキストエディタで開き、ベースURLを記入します。暗号化、もしくはセッションを利用する際には暗号鍵を記入します。

application/config/database.php ファイルをテキストエディタで開き、データベースの設定を記入します。

以上でCodeIgniterのインストールは終わりです。結構簡単だと思います。だいぶ先になるかもしれませんが、CodeIgniterの使い方を初心者でも分かり易いように作成していきたいと思います。

タグ

2011年5月26日 | コメント/トラックバック(0) |

カテゴリー:CodedIgniter

Eclipse/PDTのインストール

Eclipse/PDTとは

Eclipse(「イクリプス」または「エクリプス」)は、IBMによって開発された統合開発環境(IDE)の一つです。高機能ながらオープンソースであり、Javaをはじめとするいくつかの言語に対応する。Eclipse自体はJavaで記述されている(Wikipediaより)。プラグインを利用して、様々な機能を組み込むことができます。

PDT(PHP Development Tools)とは、EclipseのPHP開発用プラグインです。このEclipse/PDTをインストールして、『CodeIgniter』の開発環境にしたいと思います。

Eclips/PDTの日本語版(Pleiades All in One PHP)のインストールファイルは、以下のURLから入手します。

http://mergedoc.sourceforge.jp/ から最新版をダウンロードします

Full All in One(JREあり)のPHPをクリックします。

ダウンロードしたファイルを解凍し、『eclipse』フォルダをローカルフォルダにコピー(D:¥eclipse)します。

『eclipse』フォルダ内の『eclipse.exe』をダブルクリックします。『ワークスペース・ランチャー』ダイアログが表示されたら、ワークスペースとしてApacheのドキュメントルート『C:¥xampp¥htdocs』を指定します。

これで一応Eclipse/PDTのインストールは終了です。

CodeIgniterの設定

解凍したCodeIgniterの、すべてのディレクトリをCドライブ直下の『C:¥CodeIgniter』に移動

『C:¥CodeIgniter¥application¥confing』ディレクトリ内の『config.php』ファイルをテキストエディタで開いて設定を変更

14行目

$config[‘base_url’]=”http://localhost/CodeIgniter/”;に変更

26行目

$config[‘index_page’]=””;に変更

176行目

$config[‘log_threshold’]=4;に変更

Eclipseでプロジェクトを作成する

EclipseへCodeIgniterのソースファイルをインポートするために、Eclipseでプロジェクトを作成します。

ファイル→新規→PHPプロジェクトを選択します。

プロジェクト名を『CodeIgniter』(任意)と入力、そのまま『次へ』ボタンをクリックします。

『phpインクルードパス』ダイアログが表示されたら、そのまま『完了』ボタンをクリックします。

EclipseへCodeIgniterのソースファイルをインポートする

PHPエクスプローラーの『CodeIgniter』プロジェクトを右クリックし、『インポート』を選択します。

『インポート』ダイアログが表示されたら、『一般』から『ファイルシステム』を選択し、そのまま『次へ』ボタンをクリックします。

『ファイルシステム』ダイアログが表示されたら、『参照』ボタンをクリックし、『C:¥CodeIgniter』を選択します。そして、『すべて選択』ボタンをクリックしてから、『完了』ボタンをクリックすると、インポートが開始されます。

『CodeIgniter』プロジェクトにCodeIgniterのファイルがインポートされていることを確認します。このとき、エラー表示されますが、分割されたHTMLファイルに開始タグがないなどのHTML文法なので、とりあえず無視します。

これでEclipse/PDTでCodeIgniterが利用できるようになります。

タグ

2011年6月14日 | コメント/トラックバック(1) |

カテゴリー:CodedIgniter

DreamweaverをCodeIgniterの開発環境にする

CodeIgniterの開発環境は、Eclipse/PDTを紹介しましたが、使い慣れたDreamweaverを使用して、レンタルサーバー上で直接プログラムを作成したいという人のために、Dreamweaverでの設定方法を紹介します。

尚、私の会社のパソコンが古く、Dreamweaver CS5.5は、フリーズしまくるので、この設定方法に関しては、Dreamweaver CS3を使用して説明いたします。尚、CodeIgniterはローカルフォルダにダウンロードしてあるものとして説明します。

まず、Dreamweaverの初期画面で、サイト→新規作成とクリックします。

カテゴリで、ローカル情報を選択、サイト名(任意)を入力し、ローカルのルートフォルダを選択します。

カテゴリのリモート情報をクリックし、アクセスはFTPを選択します。FTPホスト名は、ドメイン名(サブドメイン名)を入力します。ホストディレクトリは、ドメイン名の場合は、空白で、サブドメイン名の場合は、サブドメイン名を入力します。FTPのログイン名とパスワードを入力し、『テスト』ボタンをクリックします。

『接続されました』の画面が出たら、『OK』をクリックします。

次にカテゴリのテストサーバをクリックします。サーバーモデルで『PHP MySQL』を選択し、アクセスで『FTP』を選択すると、自動的にFTPホストからパスワードまでが入力されていますので、確認するだけで大丈夫です。尚、URL接頭辞は、サブドメインの場合、間違っている可能性がありますので、変更して下さい。『OK』ボタンを押せば設定は完了です。

それではレンタルサーバーにCodeIgniterをアップロードしましょう。ルートフォルダをクリックし、アップロードボタンをクリックします。


『OK』ボタンをクリックすれば、アップロードが始まります。接続環境によりますが、アップロードにはしばらく時間がかかります。


アップロードが終了したら、正しくアップロードできたか確認してみましょう。Dreamweaverの『展開してローカル及びリモートサイトを表示』アイコンをクリックします。

リモートサイトとローカルフォルダが同じならOKです。尚、リモートに何も表示されていなかったら、切断されている可能性がありますので、『リモートホストに接続』アイコンをクリックして下さい。

本日はここまでにします。

タグ

XAMPP for Windowsのインストール

XAMPP for Windowsのインストール方法と、設定方法を紹介したいと思います。

http://www.apachefriends.org/jp/xampp-windows.htmlからインストールファイルを入手します。下の方までスクロールします。

インストールの説明のすぐ上あたりにダウンロードリンクがあります。インストーラを選択します。

言語の選択ダイアログが表示されますが、『English』しか選択できません。そのまま『OK』をクリックします。

英語の注意書きが出ますが、無視して『OK』をクリックします。たしかWindowsのVista以降はセキュリティの関係で、C:¥のルートフォルダにXamppフォルダを作成する必要があるので、その辺の説明だと思います(間違っていたらごめんなさい)。

Setup Wizardで『Next』をクリックします。

インストールフォルダが『C:¥xampp』になっているのを確認して、『Next』をクリックします。

チェック項目を確認して『Install』をクリックします。

インストールが開始されますので、終了までしばらくお待ちください。

『Setup Wizard』が表示されたら、『Finish』ボタンを押せばインストール終了です。

Windowsセキュリティが表示されたら、『アクセスを許可する』ボタンをクリックしてください。

次のダイアログ画面で『OK』をクリックします。

XAMPPコントロールパネルを起動しますかと聞いてきますので、『はい』をクリックします。

XAMPPコントロールパネルが表示され、ApacheとMySQLが起動しているのが確認できます。

それでは、ブラウザで確認してみましょう。アドレスバーに『http://localhost/』と入力します。大きくXAMPPと表示された画面が出たら『日本語』をクリックします。

日本語で『ようこそ』画面が表示されるはずです。

PHPを設定する

次に、『C:¥xampp¥php』のディレクトリ内の『php.ini』ファイルをテキストエディタで開いて、PHPの設定変更をします。尚、『php.ini』ファイルは大事なファイルですので、変更する前に必ずコピーをとっておいてください。

1757行目の先頭の『;』を削除します。1763行目の先頭の『;』を削除して、文字コードを『EUC-JP』から『UTF-8』に変更します。1767行目の『;』を削除します。

Apacheを設定する

続いて、『C:¥xampp¥apache¥conf』ディレクト以内の『httpd.conf』ファイルをテキストエディタで開いてApacheの設定変更をします。

mod_rewriteモジュールを使えるようにするために122行目の先頭の『#』を削除し、設定を有効にします。尚、このバージョンでは、最初からmod_rewriteは有効になっていました。

ApacheとMySQLを再起動

設定を変更したら、必ずApacheとMySQLを再起動してください。尚、先頭のチェックボックスにチェックが入っていたら自動起動しますので、パソコン自体を再起動してもOKです。

以上で、Xampp for Windowsのインストールと設定方法の説明を終了します。

タグ

2011年6月19日 | コメント/トラックバック(0) |

カテゴリー:CodedIgniter

CodeIgniterのコントローラとメソッド

CodeIgneiterなどのフレームワークを利用する以前のPHPプログラミングでは、Smartyのようなテンプレートエンジンを使用した開発スタイルが人気でした。Smartyのようなテンプレートエンジンは、『アプリケーション』と『プレゼンテーション』を分離し、プログラマとデザイナの仕事を独立した管理を行えるようにするのが主な目的でした。これによりプログラマとデザイナの並行開発可能になり、生産性を上げることができました。

このテンプレートエンジンの考えを推し進めたのが、MVCモデルと呼ばれる開発スタイルです。MVCモデルとは、アプリケーションの制御を担う、Contorollerと呼ばれる部分と、データベースへのアクセス、制御を行うModel部分、画面表示の制御を行うView部分に分かれます。

コントローラとURI

コントローラは、ユーザからのHTTPリクエストを処理するシステムの心臓部です。CodeIgneiterは、他のPHPフレームワークと異なり、ビューやモデルを使用せず、コントローラだけで構築することができます。

コントローラは、その名前がURIに関連づけられたクラスファイルです。文章での説明では分かり難くなりますので、実際にプログラムを動かしながら見てみましょう。

Eclipseを起動すると、ワークスペースランチャーが表示されます。今後、この表示が必要ない場合は、左下にチェックを入れ『OK』をクリックします。

ファイル→新規→PHPファイルとクリックします。

新規PHPダイアログでファイル名を入力(test.php)し、ソースフォルダの参照をクリックします。

CodeIgniter→application→controllersとクリックして、『OK』ボタンをクリックします。

内容を確認して、『完了』をクリックします。

『test01.php』に以下のような簡単なコードを入力してみます。このとき、クラス名とファイル名は同一にし、頭文字は大文字にします。

class Test01 extends CI_Controller{
function index()
{
echo "デフォルトメソッドです";
}
function message2()
{
echo "message02です";
}
function message03()
{
echo message02です";
}
}

実際にブラウザで確認してみましょう。『http://localhost/CodeIgniter/test01』と入力すると、『デフォルトメソッドです』と表示されます。

次に、『http://localhost/CodeIgneiter/test01/index』と入力してみます。これも上記と同様に『デフォルトメソッドです』と表示されます。

index()メソッドは、『デフォルトメソッド』と呼び、URLからメソッド名が省略されると呼び出されるメソッドです。

そして、最後に『http://localhost/CodeIgniter/test01/message02』と入力してみます。すると、『message02です』と表示されます。同様に最後がmessage03の場合は、『message03です』と表示されます。

URL に3つ以上のセグメントが含まれる場合、3番目以降のセグメントは、メソッドに引数として渡されます。

http://localhost/CodeIgniter(ここまでがドメイン名)/コントローラ名(第1セグメント)/メソッド名(第2セグメント)/第1引数(第3セグメント)/第2引数(第4セグメント)

Test01コントローラに以下のメソッドを追加入力してみます。

function keisan($par1,$par2)
{
echo $par1+$par2;
}

ブラウザで表示してみると以下のようになります。

メソッドとは、一般には、方法、手法といった意味。オブジェクト指向プログラミングにおいて、クラスにはメソッドとフィールドがあり、メソッドには、処理内容を記述する(コトバンクより)。分かり易く言えば方程式のようなものと考えた方がいいと思います。こうすればこうなると言うことを記述したものと覚えておきましょう。

コントローラの命名規則

コントローラを作成する場合は、以下の命令規則に従って、クラス名とファイル名を付与し、『application/controllers』ディレクトリに保存します。

  • クラス名は大文字で始め、controllerクラスを継承(extends)する。
  • クラス名とファイル名は必ず同じ名前にする(但し、ファイル名の頭文字は大文字から小文字に変更する)。

コントローラのメソッド

コントローラは複数のメソッドを持つことができます。特殊な役割を持つメソッドを使用する場合は、命名規則に従って命名する必要があります。以下に簡単に特殊な役割を持つメソッドを列記します。説明すると長くなりますので、簡単な説明にとどめます。

デフォルトメソッド

デフォルトメソッドは先ほど説明していますが、第2セグメントを省略したときに実行されるメソッドです。メソッド名は『index()』と命名する必要があります。

再マップメソッド

再マップメソッドは、常に呼び出されるメソッドです。デフォルトメソッドより優先されますので、デフォルトメソッドは必要なくなります。『_remap()』と命名します。

出力メソッド

ブラウザに出力する直前に処理をおこなうメソッドです。文字のエンコードなどの処理に使います。『_output()』と命名します。

コンストラクタメソッド

コントローラが呼び出されたときに1度だけ実行されるメソッドです。主にライブラリの初期化や毎回実行されたい場合などに使うと便利です。PHP4では『クラス名』と同じで、PHP5からは『__construct』(アンダースコア2つ)と命名します。コンストラクタを使用する場合は、どのようなコントローラであるかにかかわらず 必ず『parent::__construct();』のあとにコードを書く必要があります。

プライベートメソッド

HTTPリクエストによる直接のメソッド呼び出しを拒否するときに使用するメソッドです。『_メソッド名』(アンダースコア一つをメソッド名の先頭に付ける)と命名します。

予約済メソッド

CodeIgniterで既に予約済のメソッド名です。詳細は、http://codeigniter.jp/user_guide_ja/general/reserved_names.htmlで調べて下さい。

タグ

2011年6月22日 | コメント/トラックバック(0) |

カテゴリー:CodedIgniter

CodeIgniterのビュー

ビューは表示処理を行う部分で、ユーザのブラウザにどのような情報を表示させるかを定義します。ビューは、HTTPリクエストから直接呼び出されることはなく、コントローラから呼び出される必要があります。

以下にビューの特徴を記載します。

  • PHP構文とHTMLタグで記載できる
  • ビュー同士の連携が可能で、階層構造を持たせることができる
  • ヘルパーやライブラリが直接利用できる
  • キャッシュ機能がある
  • Smartyのような擬似変数が利用できる

ビューの規則

ビューのファイル名は自由に命名することができます。ファイの後にはPHPの拡張子(.php)を付けて、『application/views』ディレクトリに保存します。

ビューの使い方

ビューファイルを読み込むには『$this->load->view(第1引数,第2引数,第3引数);』メソッドを使います。第1引数には、PHPの拡張子を抜いたビューファイル名を指定します。第2引数と第3引数はオプションです。第2引数は、ビューにデータを渡すための配列またはオブジェクトを指定します。第3引数は『TRUE』か『FALSE』を指定します。省略すると『FALSE』が代入され、結果がブラウザに表示されます。『TRUE』を指定すると文字列として結果が返りますので、必ず変数に代入して下さい。

それでは実際に作成してみましょう。Eclipse/PDTを起動します。『CodeIgniter/aplication/views』を右クリックします。新規→PHPファイルとクリックします。

ファイル名を入力して、『完了』ボタンをクリックします。

以下のような簡単なコードを入力し、保存します。

次にコントローラを作成します。ビューファイルを作成したときと同じように『CodeIgniter/aplication/contorollers』フォルダを右クリックし、新規→PHPファイルとクリックします。ファイル名を『sample01.php』と入力し、『完了』ボタンをクリックします。

以下のような簡単なコードを入力します。

class Sample01 extends CI_Controller{
function index()
{
$data['title']='ビューのテスト';
$data['contents']='これはビューのテストです';
$this->load->view('view_sample01',$data,FALSE);
}
}

それでは実際にブラウザで表示してみましょう。ブラウザに『http://localhost/CodeIgniter/sample01/』と入力します。

それでは第3引数が『TRUE』の場合を見てみましょう。新しいメソッドを追加します。

ブラウザで確認してみます。『http://localhost/CodeIgniter/sample01/view_true/』と入力します。

以上実行結果はほとんど変わりませんが、使い方が異なりますので注意してください。

マルチビュー

ビューは複数利用することができます。表示順はビューのロードされた順序に従います。

それでは、マルチビューの例を作成してみます。『application/views』に新しいディレクトリ『winroad』を作成して、そこに『index.php』、『header.php』、『main.php』、『footer.php』を作成します。

index.php

header.php

main.php

footer.php

そして次にコントローラを作成します。コントローラは『application/controllers』の中に、『sample02.php』を作成して、以下のようにコードを入力します。

sample02.php

それでは実際にブラウザを確認してみましょう。『http://localchost/CodeIgniter/sample02/』と入力します。

生成されたHTMLソースを確認してみましょう。独立したビューのパーツが一つになっています。

このように、複数のビューを組み合わせることにより、コンテンツ部分のみを個別で用意すれば、複数のページで同じヘッダやフッタを利用して、ファイル数や開発工程を減らすことができます。

ループ

ビューファイルに配列を渡すと、複数の行をループして表示することができます。データベースからの問い合わせ結果を配列として受け取り、ビューでループさせる場合などに役立ちます。

タグ

2011年6月23日 | コメント/トラックバック(0) |

カテゴリー:CodedIgniter

CodeIgniterのモデル

CodeIgniterのモデルは、データベースに情報の書き込み/読み込み/削除/更新を行う部分を担当します。また、モデルで扱うデータソースは、データベースだけではなく、更新したりする処理を記述することも可能です。

モデルの命名規則

モデルファイルの命名規則は、クラス名の頭文字は大文字で始め、ファイル名は小文字でクラス名と同じ名前にし、『application/models』フォルダに保存します。modelsフォルダにはサブフォルダを作成して、階層管理することもできます。

モデルの読み込み

モデルを利用するには以下のようなメソッドを利用します。

$this->load->model(第一引数/モデルクラス名,第2引数/モデルの別名,第3引数/TRUE又は、データベース設定)

第1引数には、PHP拡張子(.php)を抜いたモデルクラス名を指定します。第2引数には、モデルの別名を指定します。オプションですので、利用しなくてもいいのですが、モデル名を分かり易い名前にする場合などに利用すれば便利だと思います。第3引数もオプションです。何も指定しない場合は『FALSE』が指定されます。『TRUE』をしていすると、データベースに自動接続します。また、第3引数には、データベース設定(連想配列)を渡すことができます。通常は、データベース設定ファイル『application/config/database.php』を使用してデータベースの初期化を行いますが、このオプションを使えばデータベース設定を個別に指定することができます。

モデルの自動読み込み

特定のモデルをシステム全体で使いたいときは、モデルを自動読み込みすると便利です。『application/confit/autoload.php』に読み込みたいモデル名を指定します。

CodeIgniterのモデルの使用例

それではモデルを使用したサンプルプログラムを作成してみましょう。モデル内に配列データを持たせ、コントローラからデータを読み出して表示するプログラムを作成します。『application/models』フォルダに『sample03_model.php』ファイルを作成し、以下のコードを入力します。

class Sample03_model extends CI_Model{
function __construct()
{
parent::__construct();
}
function get_data()
{
$test_data['佐藤栄作']='山口県' ;
$test_data['田中角栄']='新潟県';
$test_data['吉田茂']='東京都';
return $test_data;
}
}

前回も説明しましたが、コンストラクタとは、オブジェクト作成時に自動的に呼び出されるメソッドです。get_data()メソッドは、配列に代入した値を返すためのメソッドです。配列$test_dataに値を代入し、returnで値を返しています。

次にコントローラを作成します。『application/controllers』フォルダに以下のプログラムを入力します。

class Sample03 extends CI_Controller{
function index()
{
$this->load->model('sample03_model');
$test_data=$this->sample03_model->get_data();
foreach ($test_data as $souri=>$syusshin)
{
echo $souri.'  '.$syusshin.'出身<br>';
}
}
}

『$this->load->model()』メソッドで、『sample03_model』を読み込み、『$test_data』に『sample03_model』の『get_data()』を代入し、PHPの『foreach』構文で『$test_data(別名$souri)』=>$syusshinを配列の数だけ繰り返し表示しています。

それでは実際にブラウザで確認してみます。

本日はここまでにします。

タグ

2011年6月25日 | コメント/トラックバック(0) |

カテゴリー:CodedIgniter

MySQLデータベースの移行

CodeIgniterでデータベースクラスを説明する前にデータテーブルを作成しなければなりません。一から作るのは面倒ですので、以前『Dreamweaverで簡単PHP』のところで作成したデータベースを『ローカルのデータベース』に移行したいと思います。ということで今日は、レンタルサーバのデータをローカルのデータベースに移行する方法を説明したいと思います。この方法を覚えていただければ、逆にローカルのデータベースをレンタルサーバに移行することもできますので、覚えておいてください。

この投稿の続きを読む »

タグ

2011年6月27日 | コメント/トラックバック(0) |

カテゴリー:CodedIgniter

CodeIgniterのフォーム送信

フォームを使った値の受け渡しをしてみましょう。『applicaiton/views』に『form_post』というviewのフォームを作成します。

ビューの作成

今日はDreamweaverCS5.5でコードを作成してみます。『ファイル→新規→空白ページ→PHPで『作成』ボタンをクリックします。viewを主体に作成するときは、やはりDreamweaverが使いやすいです。『フォームの送信』と入力して、プロパティのフォーマットを見出し1を選択します。

『フォームの送信』の文字の下をクリックし、ファームタブのフォーム作成アイコンをクリックします。

フォームの赤い枠の先頭にカーソルを移動し、フォームタブの『テキストフィールド』をクリックし、テキストフィールドを作成します。

作成されたテキストフィールドの後ろで改行して、フォームタブの『ボタン』アイコンをクリックすると、送信ボタンが作成されます。

フォームタブの外にカーソルを移動し、コードを直接変更します。『&nbsp;』→『<?=$msg;?>』に変更します。デザイン画面のカーソルの位置に『PHP』のアイコンが表示されます。

コントローラの作成

続いてコントローラを作成します。ファイル→新規→その他→テキストで『作成』ボタンをクリックします。

以下のコードを記入して、『aplication/controllers』フォルダに『form_post.php』の名前で保存します。

class Form_post extends CI_Controller{
function index()
{
if($this->input->post('textfield') != null){
$str='<p>送信内容:'.$this->input->post('textfield').'</p>';
}else{
$str='<p>メッセージをどうぞ</p>';
}
$data=array('msg'=>$str);
$this->load->view('form_post',$data);
}
}

それではブラウザで確認してみましょう。『http://localhost/CodeIgniter/post_form』と入力します。テキストフィールドに文字を入力して、送信ボタンをクリックします。

テキストフィールドに入力した値が送信ボタンの下に表示されました。

$this->input->post()

今日使用したコードの『$this->input->post()』を説明します。このコードは、CodeIgniterの『入力クラス』と呼ばれるライブラリの一つです。使い方は、$this->input->post(第1引数、第2引数)で第1引数にはpostされた項目の名前、第2引数は、オプションでTRUEかFALSEを指定します。TRUEを指定すれば、XSSフィルタリングが行われます。初期設定では、FALSEに設定されているので、省略すると『FALSE』が選択されます。

XSSフィルタリングとは、クロスサイトスクリプティング攻撃を防止するためのフィルタです。CodeIgniterには、このXSSフィルタリングが内蔵されていますが、処理がやや重いため、デフォルトでは自動的に適用されるようになっていません。XSSフィルタリングは、許可されない文字列を削除し、HTMLの文字参照に変換することで、XSSが起きない文字列を返します。

POST及びCOOKIEデータの全てに自動的にXSSフィルタリングを適用したい場合は、『application/config』フォルダのメイン設定ファイル(config.php)の282行目のFALSEをTRUEに変更します。こうすれば、第2引数を省略したときに、『TRUE』が選択されます。

本日はここまでにします。

タグ

2011年6月28日 | コメント/トラックバック(0) |

カテゴリー:CodedIgniter

このページの先頭へ