header image

携帯対応

QRコード

RING

人気ブログランキング

新着記事

相も変わらず酒を飲んだあとで戯言をたれてみる。

2/23に公開されている@ITの「PHPプログラミングの基礎を学ぼう(1/2)」という記事を見た。

内容は・・・・これやばいです。この通り素人プログラマがプログラムを書くと、セキュリティ上問題がある。とりあえず気がついた点で指摘してみる。

PHPは、HTMLテキストのデザインを崩すことなくコード埋め込むことができるため、プログラマーだけでなく本格的なプログラミング経験がないWebデザイナーなどからも支持されています。

ダウト。HTMLテキストのデザインを崩すことなく、ということを求めるのであればテンプレートエンジンを求めるべきで、例示されているhtmlタグの中でprintするのはおかしい。

<?php
print $_POST["input1"];
print $_POST["input2"];
?>

ダウト。これ絶対真似してはいけません。入力画面でhtmlタグを入れられるとそのまま通過してそいつが表示されます。ユーザが入力してくるデータは常にチェックを行うべきで、それを習慣にしないといけない。

また、データ内容を簡単に盗み見ることができるため、通常はPOSTメソッドの使用をお勧めします。

こいつもダウト。GETでも単なる定型のデータ検索処理などではまったく問題ではない。またデータの盗み見はパケットキャプチャリングなのか、その他の方法なのかに関しての記述がない。重要なデータをGETで渡した場合の問題は、リファラなどでパラメータの内容が外部に流出すること、アクセスログなどに機密情報が記載されることであるので、その旨記載すべきであろう。なお本質的な対応であれば、POSTにした上でSSLを使うべきだ。

次に2ページ目。

しかし、本連載ではコードの可読性を重視するため、JavaScriptによるチェックを主に用いています。

ダウト。どうせ似たようなコード量になる。なぜここまで分かっていてPHP側でやらないのか?意味不明。

あーあ。なんだかなー。

オープンソースの施設予約管理システムであるPhpScheduleItの日本語化翻訳ファイルを作った。

なんだか最近こんなことばっかりやっている気がするが、まぁいっか。楽しいし。

詳細はこちら。

sch4.png

ん~。mojaviとCakePHPって結構違う。正直mojaviの方が分かりやすい。

mojaviの場合は

/index.php?module=Hoge&action=Foo

とすると、呼び出すべきアプリケーションとアクションが決定される。なのでURLを見ただけで直すべきモジュールが一発で分かる、という特徴がある。

mojaviの場合は、アプリケーションディレクトリはユニークに決定され、アクションが記載されているクラスは1アクション1クラスなので、見通しがよいのだ。

一方でCakePHPの場合

/Hoge/Foo

となった場合、コントローラがHogeで、アクションはHoge_controller.phpに記載していくことになる。

この場合、関数名がFoo()になる。少々分かりにくいなぁ。しかもヘルパスクリプトのbake.phpは確かに便利そうなんだけど、色々なコーディング規則が多すぎてかえって時間かかる。たとえば、テーブル名の末尾にsをつけた物がモデルクラス名に自動的になる、とか、便利なようで自由度が制限されている気が・・・。

PHPのmojaviやPerlのCatalystはかなり既存モジュールの流用や組み合わせを意識しているようなんだけど、CakePHPは設計思想が違いそう。

mojaviな人はSymfonyの方が向いているのだろうか?というかんじ。酔っ払いの戯言以上終わり。

最近あんまし仕込みをしていないのでネタがない。ということで適当なPHPの話。

ちょっと前まではmojavi使っていたんだけど、本家サイトがディスククラッシュで死亡(今日見たら復活してた)とか、開発進んでねぇ・・・とか色々あったので、違うのに乗り換えした。

乗り換え先はCakePHP。こいつもなかなかだ。

とりあえず特徴

  • Ruby on rails のつくりを参考にして作られている。(←これはでかい。
  • PHP4でもPHP5でも動作する。(ZendFrameworkやmojavi3はうごかん
  • CRUD画面の自動生成(←いつも作るから助かる

んなかんじで、これから色々使ってみる予定。

日本語訳リファレンスガイド発見。

2007/02/09 00:12:48 日記 none Comments

Trackbackスパム多すぎ。今日見かねて1300ほど消した。過去のブログエントリ数が300だから半端ない。消すだけで疲れた。むかつくので、スパムと判定すると、アクセス元に100倍のリクエストなげるようにしてみるか(w

 

日記 PHP オープンソース インストールマニアックス IIS Trac MySQL Perl Linux Agile・生産性向上 wordpress フリーソフト 自宅サーバ 書評 ブックマーク phpMyFaq TraM Plugin 早起き Delphi apache CakePHP Firefox Ruby eclipse セキュリティ プラグイン アジャイル mojavi Subversion Ajax/Web2.0 SQLServer Zope サーバ フレームワーク phpBB 仮想化 PostgreSQL OpenVZ scuttle CMS 文字化け 自宅 翻訳・日本語化 ApacheDS LDAP Excel 生産性向上 CodeIgniter XAMPP hacks taskfreak 修正 言語ファイル Ajax SBM ダウンロード HTML::FillInForm mod_security 情報共有


ads

読まなきゃモグリ