FC2ブログ

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

CakePHPで何かを作ろうとする 7日目

この前の続き。CakePHPのプログラミングは3日ぶりだ。
キリのいいところまで作ったらHTML5の勉強に入りたいのだが、用事があったり体調が良くなかったりで、なかなかPHPプログラミングが終わらない。

今日はログイン絡みの入力データチェック部分をコーディングした。
・クッキーに格納されているユーザIDがusersテーブルに存在するか。
・ログイン画面から入力されたデータを、モデルのvalidates()メソッドでチェック。
・ログイン画面から入力されたユーザーIDはusersテーブルに存在するか、パスワードはusersテーブルのデータと一致するか。

ログイン画面で入力されたデータのサニタイズを行なおうとしたが、CakePHPマニュアル
CakePHP already protects you against SQL Injection if you use CakePHP's ORM methods (such as find() and save()) and proper array notation (ie. array('field' => $value)) instead of raw SQL. For sanitization against XSS its generally better to save raw HTML in database without modification and sanitize at the time of output/display.
と書かれていた。(日本語版マニュアルには、現在この記述は無い)
つまり、find() や save() のような CakePHP が提供するORM(オブジェクト関連マッピング)メソッドを用いて、きちんと array('field' => $value) のように引数を設定していれば、CakePHP が勝手にSQLインジェクション対策をしてくれる。
自分が作っているログイン機能の仕様上、HTMLサニタイズは不要なので、結局サニタイズのコーディングは無し。

今日は1時間半しかプログラミングできなかった。明日はもっと時間を取りたい。
スポンサーサイト

コメント

コメントの投稿

非公開コメント

プロフィール

himax64

Author: 南西
30代後半の無職です。
就活もせずダラダラ生きてます。
作ったもの

最新記事
人気記事
検索フォーム
カテゴリ
月別アーカイブ
最新コメント
最新トラックバック
RSSリンクの表示
QRコード
QRコード
カウンター
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。