dari88's diary

これから趣味にするプログラミング/PHP/javascript/kohana/CMS/web design/

CMS

コミュニティーサイト系CMSの検討・・・JoomlaとWordPressを導入してみる

pimcore のドキュメントにひと通り目を通してみました。サンプルコードなんかもふんだんに掲載されており、よく出来ていると思います。で、分かったんですけど、pimcore は静的なサイトを簡単に構築するのに向いているということです。一般企業などが会社紹…

kohana+ZFでもやってられない?・・・pimcore 超リッチなCMSを試してみる

GW初日から尾瀬に行って気分をリフレッシュしてきました。 さて、今日のお題は pimcore です。kohana は非常にシンプルなので、CMS の入門用勉強素材として大変良いのですが、サイトを作るとなると機能が貧弱なので大変だと思います。kohana に ZF(Zend Fra…

kohanaのテスト7・・・Zend Frameworkでkohanaの機能を拡張する

kohana はシンプルなだけに、アプリケーションに近い部分の機能は貧弱です。今日は高名な Zend Framework を kohana と合体させて Zend Mail を使ってみます。オートローディング機能を持つ CMS なら何でも合体して機能拡張できるみたいです。 準備作業 ・Ze…

kohanaのテスト6・・・Formの入力をValidationで検証する

テスト5まではフォームからのユーザーの入力を検証していませんでした。今日はkohana の Validation を使って検証する実習です。入力フォームも kohana の Form を使います。元ネタのサンプルコードは kohana ユーザーガイドのものです。このサンプルコード…

kohana データベースのまとめ・・・セキュリティほか

今日は kohana のデータベース操作についてちょっとまとめます。 SQLインジェクション対策 テスト4のサンプルコードで使った DB::query を使う記述法の場合、SQL文に変数を埋め込む形で kohana に渡すとエスケープしてくれません。kohana はテキストで渡され…

kohanaのテスト5・・・DBを操作する第2の書き方

今夜のお題は DB 操作の第2の書き方です。テスト4では DB::query を使って SQL文を直接書く方法を使いました。テスト5では Query Builder を使う方法です。Query Builderには DB::select、DB::insert、DB::update、DB::delete などがあります。テスト5の機能…

kohanaのテスト4の続き・・・XSS攻撃に対する穴が空いていた

昨日のテスト4のサンプルコードなんですが、SQLインジェクション対策がちゃんと出来たので満足していたら、何と XSS(Cross-Site Scripting)攻撃に対する脆弱性が存在しました。ユーザの入力値 $_POST に対しては test3post.php で htmlspecialchars() 関数…

kohanaのテスト4・・・データベース操作の新しい書き方

kohana のユーザーガイドを読んでいると、kohana 3.x 以降ではデータベース操作に対してテスト3とは違う方法を推奨しているようです。セキュリティー対策、柔軟な操作を目的に改善されているようです。 2通りの書き方があるようですが、本日夜の部では第1の…

kohanaのテスト3の続き・・・SQLインジェクション対策について

本日午前中のサンプルコードにて名前の欄に「名前 ' -- 」と書いて送信すると見事にエラーが発生しました。SQLインジェクション対策がなされていません。Database クラスには SQLインジェクション対策のメソッドが準備されているようですが、Model_Database …

kohanaのテスト3・・・指示に従ってデータベースを操作する

今日は kohana のテスト2を拡張してユーザーの指示に従ってデータベースを操作するサンプルコードを作ってみました。kohana のユーザーガイドも結構舌足らずな所が多いんですけど、山勘でこんなんで動くんじゃないの?と類推しながら書いてみたら、動いちゃ…

kohanaのエラーメッセージは素晴らしい!・・・PHPのスコープ定義演算子を使ってみる

PHP のコードを読んでいると Model_Test2::getData2() みたいにクラス名とメソッド名を (::) で連結した記述を見かけます。これって何なんだ?と調べようとすると結構大変です。PHP :: なんて書いてネットで検索しても見付からないし、PHP のマニュアルを ::…

kohanaのテスト2の続き・・・PHPで直接データベースを操作してみる

PHPで直接データベースを操作するコードを書いても kohana は動くんだろうか?・・・と思って書いてみたら、ちゃんと動きました。当たり前か?・・・(^^;;; <手順>・application/classes/model/test2 にメソッド getData2() を追加した。

kohanaのテスト2・・・データベースを読む練習

kohana のテストその2はデータベースの読み込みです。この例題では CMS(Content Management System)のコンセプトである MVC(Model View Controller)をひと通り使っています。また、ビューにビューを入れ子にしている点も見て下さい。コードを読んでいく…

kohana のテスト・・・はじめの一歩

前回作成した kohana 3.2 ユーザーガイドの pdf 版を印刷して読んでいます。で、気付いたんですが、18日の日記に書いたサンプルコードはちょっと古い書き方だったみたいです。 ということで、kohana 3.2 らしいはじめの一歩のサンプルコードです。 applicati…

kohana のマニュアルは完璧だ!・・・kohana のPDF版マニュアルを作りました

今日は kohana の PDF 版マニュアルを作ってみました。kohana 3.2 User Guide と kohana 3.2 Available Classes Reference Manual です。ユーザーガイドの方は181ページ、クラスのリファレンスは1799ページもあります。紙に印刷して一気に読みたいとか、メモ…

kohana の勉強を始めました・・・先ずはインストールから

kohana って小花ですかね?・・・ネーミングが気に入ってます。で、先程から立ち上げていました。今日は kohana のインストール手順と簡単な動作確認までです。 <インストール手順>・kohana のサイトから kohana-3.2.0.zip をゲットする。・解凍したファイ…