2012-03-07

過去プロジェクトの壮大なバグ

過去プロジェクトを使うとろくなことがない。

今日のバグ報告。

■不適切なHTMLエンティティ化
DBから取得した値を表示するときに、HTMLエンティティ化している。これはOKなんだけど、DB登録するときにも、値をHTMLエンティティ化していた。ん?何したいん?
&...のオンパレード。こんなデータ、使えるわけねぇ。

■urldecode($_GET['hoge'])
あのぉ...$_GET['hoge']に入った時点で、デコードされてるんですが...意味ないんですけどぉ...

■自力でエスケープ
SQLインジェクション対策?で、自力で¥やシングルクォート、ダブルクォートをエスケープしていた。
これがまた不完全なエスケープでね。\\'でSQL文こけるよ。テストしてねぇだろ。
postgresqlもmysqlもPHPに関数あるんだからさ、そっち使おうよ。

■like検索で全件検索
WHERE句のLIKE組み立てるところで、%と_がエスケープされてない。
LIKE '%%%'じゃ全件検索だろが。

■パラメタ改竄し放題
せめて、下限と上限値のチェックぐらいしようよ。

■二重登録
ブラウザの [ 戻る ] で戻ったときのこと考えてないよ。
[ F5 ] アタックされても知らないぞ。


これらすべて、ほぼすべてのPGで実装されていた。


これ、わけわかってないときに下に作らせて、ノーチェックでリリースしただろ。


短納期・低価格で使いまわすの止めようよ。
質の悪い過去資産しかないんだからさ。
しかも、作った奴は辞めてるし、そのとき仕切ってた奴は我関せずで...



おかげで今日もこんな時間。

さて、今から米研いで寝るか...

0 件のコメント:

コメントを投稿

結局は可愛い我が子

以前の会社の話。 俺がいたころ、「当時の社長」の息子が転職してきた。 「あー、結局は同族会社か」 と思ったし、まあ、ほかのヤツもそう思ったよね。 その時は否定した「当時の社長」。 でも、なーんか含みを持たせた逃げの言い訳してたなー。 その器があればとか、 周りが認めてくれればとか...