2006年12月04日

「サニタイズ言うな」キャンペーンの私の横着な解決

「サニタイズ言うなキャンペーン」私の解釈

孤高さんのところから手繰ったネタ。

高木氏の原文

ではなぜ、解説書でさえ(C)のようなコードを書いてしまうのか。3つ考えられる。1つ目は、貧民的プログラミングの発想。2つ目は、煩雑な見栄えを嫌がってということがあるだろう。

まず、「htmlspecialchars」という名前が長い。これをあちこちに埋め込まないといけない。文字列連結している文の部分部分に htmlspecialchars を入れて、入れて、入れていかないといけない。これが嫌で嫌で堪らないプログラマが、それでも「セキュリティ対策しないと……」ということで仕方なく必死に作業していくと、必要最小限の場所にだけ htmlspecialchars と書くことになりがちだ。

その結果として何が起きるかというと、いわゆる「サニタイズ漏れ」だ。それを目を皿にして探していく作業も、たいへんなコストがかかることになる。

上に挙げた(A)の事例について、こうした脆弱性を指摘された本の著者はこう反論するかもしれない。「PHPの入門書なので、まずは PHP による HTML formの基本的な書き方を説明したいだけ。最初からそこらじゅうに htmlspecialchars と散りばめたのでは、読者がついてこなくなってしまう。セキュリティ対策の方法は後半で書いているのだから、これでよいのだ……」と。

事実、2002年に、ある@ITの解説記事の脆弱性を指摘したとき、関係者の方から

記事の主旨はサーバサイドアプリケーションの諸環境の紹介を第一としておりますことご了解いただけますと幸いです


という釈明を受けたことがある。また同じころ、知人が書いていた書籍について、出版前に読んで欲しいと依頼されて読ませてもらったところ、やはり、 SQLの使い方を紹介する章のサンプルコードがモロにSQLインジェクション脆弱性のある安易な書き方になっていて、「こういう書き方、やめようよ」と言ったことがあるのだが、著者は、「ここはSQLの使い方をわかってもらうためだから余分なコードは入れたくない」と主張して、全面的な書き直しはしなかった(注意書きが添えられ、後ろの章にセキュリティ対策の章が付け加えることで対処された)ということがあった。

このように、コードの見た目が煩雑になることがプログラマ達に嫌われていて、特に解説本の著者がひどく嫌っていることがわかるが、それが脆弱プログラマを増殖させる原因となっている。

そして3つ目の原因が、「サニタイズ」という言葉が安易に流行りすぎていることの弊害である。

「サニタイズ」というのは、「無害化」という意味の言葉であることから明らかなように、あくまでも「セキュリティ対策」としての文脈でしか語られない。そうすると、「CGI入力の(に依存した)変数はサニタイズせよ」というスローガンになってしまう。これが悪しきプログラミングスタイルを助長して困る。

正しくは全ての変数をエスケープ対象とせよが基本であるし、変数だけじゃなくて式全体をエスケープの対象とするべきなのに、「サニタイズ」という言葉で教育が行われていると、その考え方に至る機会が殺がれてしまう。

だから、「サニタイズ言うな」なのだ。

なるほどと思う。まず大前提として、「セキュリティ意識の低いプログラマ」というものを大量生産している背景には「サニタイズ」という言葉で「ごく普通のセキュリティ対策」を何か特別な処理のように思わせてるという状況が存在するので、そんな特別な言葉をお前ら使うなという主張は理解できる。

んで、高木氏はhtmlspecialchars抜けなどよくある例として指摘されているのですが。諸事横着でめんどくさがりなおいらは、「そんなのHTML_Template_Flexy使えば一発じゃーん」って考えてしまいます。これなら変数出力は基本エスケープ済みなので楽です。SQLは DB::prepare()を使いましょうw これでクロスサイトスクリプティング脆弱性もSQLインジェクション脆弱性もばっちりカバーです。

もちろん、あらゆる原則には例外が存在するように、これらのPEARライブラリではどうにもならないケースというのもあるのですがね。


posted by ミラクルさん at 23:08| Comment(0) | TrackBack(0) | PHP | このブログの読者になる | 更新情報をチェックする

本当に、本当にありがとうございました

■06.12.04 [ ギド・ブッフバルト監督の退任について ]

<ギド・ブッフバルト監督コメント>

まず最初に、この3年間私を信頼して任せてくれたクラブに感謝したいと思います。将来についてですが、レッズから非常にいいオファー、信頼してくれて更にいいオファーをして頂いた事に感謝したいと思います。しかし、私の判断としては、ここで一度ブレイクしたいという事になりました。

今回の結論に至った理由には、多くの理由があります。1つは報道されている通り、プライベートな面があります。
もう1つは、1つのクラブで指導者が3年間、しかも結果を出しながら指導を続ける、浦和レッズというのは私の第2の故郷で自分の心がここにある、この3年間、当時の犬飼社長、森GM、その後後任の方がしっかり引きついでくれていますが、クラブもいろいろ発展している。代表にも複数名送り込む事が出来ていて、成績も非常にいい結果を出してきた。私が始めて監督として過ごした3年間でこうした結果を出してきて、今後どうなっていくのだろうという理想というものが頭の中に出てきました。

この結論にいたるまで、かなりの時間が必要となった。9月にクラブから来シーズンもというオファーを頂いて、そのときに考えたのは、出るという事を考えた場合、このままクラブを去って大丈夫かどうか、来シーズンはアジアチャンピオンズリーグもあって、監督として、1人の人間として挑んでみたいという事もあった。

そういうオファーを頂いていろいろ考えたのだが、今回はそういう結論に至りました。浦和レッズというのは、そこにあるべきポジションにいて、いいチームになった。コーチングスタッフも非常にいいスタッフが揃っていて、代表選手も数多くいる。サッカーを取り巻く環境は、アジアではもちろん、練習環境等は、世界でも通用する環境を整えてもらっている。このような環境のおかげで、浦和レッズは、今後も常に優勝を争える、常に1位から3位にいる、そういうクラブになったと思う。3年間本当にハードな生活を送ってきたのだが、ここで一旦、このポジションから一歩引いて、この3年間どういうところがうまくいって、どういうところがなかなかうまくいかなかったのか、次回やるときにはどういったところを改善すべきなのか、そういう事を見つめなおす時間が必要になってきた。今後の私の目標としては、次回やるときにはどうしたらいいのかをしっかり分析して、それが実になるようにしていきたい、これが今の私の目標です。

選手のときにも、監督のときにも常に我々にプロとは何であるかというものを見せてくれた人でした。

ここに至るまでの長い道のりを思い出すと、涙があふれてしまいそうです。今はただ、感謝と労いの気持ちでいっぱいです。お疲れ様でした。

posted by ミラクルさん at 20:19| Comment(2) | TrackBack(0) | 浦和レッズ | このブログの読者になる | 更新情報をチェックする

危機感を感じたらしい

高原が初のハットトリック=3−2の勝利に貢献−ドイツ・サッカー

【ロンドン3日時事】サッカーのドイツ1部リーグ(ブンデスリーガ)、フランクフルトのFW高原直泰は3日、アウェーのアーヘン戦にフル出場し、ドイツ移籍後5シーズン目で初となるハットトリックを達成。3−2の勝利に大きく貢献した。前半14分に味方のスルーパスを右足で押し込み先制。同44分に勝ち越し点、後半16分にも加点した。今季6点目で、得点ランクでも6位タイに浮上した。

欧州の公式戦での日本人のハットトリックは、2002年8月のインタートト杯決勝でフラムの稲本潤一、今年4月にフランス2部リーグでグルノーブルの大黒将志、10月にスコットランド・プレミアリーグでセルティックの中村俊輔がマークしているが、主要4大リーグ戦では高原が初めて。フランクフルトは勝ち点 20で8位。

寿司ボンバーもThe sushi policeに危機感を感じたようですね。下手なプレーしたらJETROの査察がいくかもよ。

ラベル:高原直泰 寿司
posted by ミラクルさん at 15:24| Comment(0) | TrackBack(0) | サッカー | このブログの読者になる | 更新情報をチェックする

がたがた言わねえでさっさと行け

<アジア大会>韓国サッカー 「兵役免除」考慮し全員起用 

【ドーハ澤田克己】86年ソウル大会以来、20年ぶりの男子サッカー優勝を狙う韓国が「代表選手全員を出場させる」という国際大会では異例といえる方針で選手を起用している。優勝時の兵役免除対象者が「1分でもいいから出場した選手」となっているためだ。

韓国の兵役法は、五輪などの国際大会で活躍した選手に兵役免除の特例を与えている。競技生活のブランクを避けたい選手たちには何よりのプレゼントだ。アジア大会の場合は金メダルが条件となっている。

ただ、サッカーのような団体競技の場合、実際には試合に出場しなかった代表選手が問題となる。韓国紙・スポーツ朝鮮(電子版)によると、韓国サッカー協会は「代表入りだけで対象になる」と理解していたが、兵務庁から「出場しなければダメ」と言われてしまったのだという。

オランダ人のピム・ファーベーク監督も、洪明甫(ホン・ミョンボ)コーチの進言を受けて、韓国の特殊事情に配慮。2日までに行われた格下のバングラデシュ、ベトナム相手の試合に代表20選手中19人を出場させた。韓国人記者は「残っている金東※(キム・ドンヒョン※=「さんずい」に「玄」)は主力級で、どちらにしても出場が確実だから、もう全員を出場させたも同然だ」と話す。

韓国は5日、2次リーグB組最終戦でバーレーンと対戦する。ピム監督は「バーレーンはB組でもっとも手ごわい相手。これからは全試合が決勝のようなものだ」と語り、優勝へ向けてベストメンバーを組んでいく考えだという。

全員使わなきゃいけないってどういう縛りだよ。予想外の故障とか発生したらどうするんでしょうね。どうしてこう馬鹿国は余計なプレッシャーをかけるかな。ピムも頭痛いだろうに。

ラベル:韓国 サッカー
posted by ミラクルさん at 14:47| Comment(0) | TrackBack(0) | 特定アジア | このブログの読者になる | 更新情報をチェックする

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。