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 件のコメント:

コメントを投稿

綺麗に見せることに全振りした操法大会の訓練を50日間するよりも、月1回でいいから基本的な操作方法の訓練を実施すべきだと思うのは俺だけか

 7月に県の消防操法大会がある。 市内分団の持ち回り制で、今年はうちの分団が出場する。 俺も前回回ってきたときに、選手として出た。 訓練が5月から始まっている。 週5日。 訓練時間は2時間だけど、その前に準備する時間もあり、訓練後の撤収時間も必要だから、拘束時間は約3時間。 俺が...