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

コメントを投稿

.htaccessで403を404で返す

久しぶりにリライトルールを書いたよ。 ドキュメントルートに.htaccessを置く場合の記述↓ # 403.html は実体がなくてよい。この設定をすることで、あっても使われなくなる。 ErrorDocument 403 /403.html # 独自の404ページをドキュメ...