タグ

2011年12月26日のブックマーク (4件)

  • 大垣本を読んで「バリデーションはセキュリティ対策」について検討した - ockeghem(徳丸浩)の日記

    このエントリでは、セキュリティの観点から、バリデーション実装について検討します。大垣さんのを読んで「大垣流バリデーション」について勉強した結果を報告します。 はじめに 大垣さんの記事「入力バリデーションはセキュリティ対策」では、「入力バリデーションはセキュリティ対策である」が力説されています。この記事はおそらくid:ajiyoshiさんのブログ記事「妥当性とは仕様の所作 - SQLインジェクション対策とバリデーション」を受けてのことだと思います。id:ajiyoshiさんのエントリでは、「妥当性検証は仕様の問題であってセキュリティ対策ではありません」と明言されています。私はid:ajiyoshiさんに近い考えを持っていますので、大垣さんの主張について、私なりに考えてみました。 記事を書くにあたり、徳丸の立場を明確にしておきたいと思います。 バリデーションの基準は仕様の問題 バリデーション

    大垣本を読んで「バリデーションはセキュリティ対策」について検討した - ockeghem(徳丸浩)の日記
    k-holy
    k-holy 2011/12/26
    「仕様外の入力」のうち通常のブラウザ操作で入力可能かどうかで、アプリケーションが何を返すべきかは変わるだろうし、そこに触れずに「バリデーション」と一括りにするから誤解が生じるのではと思いました
  • PHPとgoto文 (PHP Advent Calendar 2011 24日目)

    PHP Advent Calendar 2011の24日目です。 前日はbornknow108さんのPHPでIPMessangerでした。 何を書いてもいいとのことなので、PHPの黒歴史ことgoto文についてまとめてみます。 goto文とは goto文は、プログラム中の任意の位置にジャンプする構文です。処理を先に進めたり、戻ったりすることができます。 echo 1; goto third; echo 2; third: echo 3; //→13と表示され、2は表示されない gotoはとても低レベルな命令であり、これとif文さえあればほとんどの論理構造は書けてしまいます。要は強力すぎるため、gotoを多用して書くと大変読みにくいプログラムができあがります。 この件はDijkstra先生の論文「Go To Statement Considered Harmful」で有名になりました。プログラ

    PHPとgoto文 (PHP Advent Calendar 2011 24日目)
    k-holy
    k-holy 2011/12/26
    ifやswitchだとネストが深くなる時にgoto使うといいかも。BEAR.Sundayでは例外ハンドラのコードが綺麗な使い方されてましたね https://github.com/koriym/BEAR.Sunday/blob/dev2/apps/04-rest/script/exception_handler/standard_handler.php
  • Windows で PHP を build する - yoya's diary

    日は PHP Advent Calendar 2011 の25日目です。前日は [twitter:@Hiraku]さんの「PHPgoto文」でした。今更 goto?と思われる方でも読めば目から鱗が落ちる良記事です。 さて近年、MacOSX 派が幅を利かせてきているようですが、Windows OS を利用している方も大勢います。Windows での PHP build は今でも有益だと考え、この記事を作成しました。 はじめに PHP のソースコードから WindowsPHP 実行ファイルを build するのは意外と簡単です。その手順を軽く(?)紹介したいと思います。 更に標準でない PHP extension を加えて build し、それらの機能(OpenGL/OpenAL)を動かす例も示します。 尚、32bit PCWindows Vista と 7 で PHP 5.3

    Windows で PHP を build する - yoya's diary
    k-holy
    k-holy 2011/12/26
    WindowsでPHPビルド。日本語の情報なくて逡巡してたので助かります…
  • trait時代のライブラリ設計を予想してみる #php5_4

    この記事はPHP5.4 Advent Calendar 2011の23日分です。 trait自体はすでに10日目の@tpyamamotoさんによるTRAITでデザインパターン再考でも取り上げられていますが、目玉機能なのでもう一回ネタにしちゃいます>< おさらい:traitとは 相変わらず公式マニュアルが充実しまくっているのでそちらを見た方がいいのですが、抜粋するとこんな感じ。 PHP5.4の目玉機能 多重継承を安全に行えるよう導入された概念 traitはプロパティ・メソッドを持てる traitは定数を持てない trait自体はインスタンス化できない classを継承してtraitを作ることはできない interfaceを実装してtraitを作ることはできない traitを継承してtraitを作ることが可能 classは複数のtraitを継承して実装を再利用できる traitはclassでは

    trait時代のライブラリ設計を予想してみる #php5_4
    k-holy
    k-holy 2011/12/26
    interfaceで型の継承、traitで実装の継承ということかな。確かにAbstractクラスはなくなりそう。traitの命名はどんな感じになるのかな