タグ

2010年2月23日のブックマーク (4件)

  • @INCとuse - D-6 [相変わらず根無し]

    @INCとuse ちょっとずれてるので横からコメント unshift、push で変更を加えた @INC(モジュール検索PATH)が使用されない。 起こってる現象とこの認識はちょっと違う。 具体的に何が起こっているか説明する前に、Perlにはコンパイル(BEGIN) フェーズとランタイムフェーズという、2回コードが実行されるタイミングがある(まぁ厳密にはもう少し色々フックすることが可能だけど、とりあえず一般的にはその二つで大丈夫)。 これがどういうことかというと、順番にコードを書いているつもりでもコンパイルフェーズで評価される部分とランタイムフェーズで評価される部分があるということ。わかりやすい例としてはこんな感じか: #!/usr/bin/perl use strict; print "Runtime!\n"; BEGIN { print "Compile time!\n"; }

    TMTL
    TMTL 2010/02/23
  • $. と <> と for と while - D-6 [相変わらず根無し]

    $. と <> と for と while forでは$.はカウントされない ちょっと違うので横から。 これはforの動作というより、式の評価コンテキストの問題。 forはその性質上、捜査対象は配列になる: for (<>) { .... } # 上記はこれと同等 my @lines = <>; for(@lines) { .... } なので、<>も配列として評価されるべく*まず最初に*<>を最後まで読み切って、行区切りの配列を作ってからforに渡す。このときファイルハンドルを読み切っているので、当然 $.はファイル全体の行数になる。 これに対して、whiileは対象を毎ループ評価するので、1行ずつの読み込みになる。だから$.は行毎の値になる。B::Deparseを使うとちょっとわかるかも。 # こっちはちょっと正直わかりにくいとは思うけど・・・ daisuke@beefcake $ p

    TMTL
    TMTL 2010/02/23
  • XSSとセキュリティリスクと正しい脆弱性報告のあり方 - 最速転職研究会

    適当 XSSがある=なんでもやり放題ではない ブログサービスなど自由にHTMLをかけるようなサービスでは、害が及ばないように表示を丸ごと別のドメインに分けていたり、あるいは別ドメインのIFRAME内で実行したりしているのが普通です。個人情報を預かってるサイトは、重要個人情報についてはHTTPSじゃないと参照できなかったり、そもそも表示しなかったり(パスワードやカード番号等)、決済用のパスワードや暗証番号を入れないと操作できなかったりする。 参考までに http://blog.bulknews.net/mt/archives/001274.html (2004年のアメブロ脆弱性の話) http://d.hatena.ne.jp/yamaz/20090114 (信頼できないデータを取り扱うドメインを分ける話) 管理用と別ドメインに分けたにも関わらず、script実行できることに対してDISられ

    XSSとセキュリティリスクと正しい脆弱性報告のあり方 - 最速転職研究会
  • Effective Java 読書会 5 日目 「最後に見せたツンデレ」 - IT戦記

    はじめに 今日も継承三昧>< 今日読んだところ 86 ページ〜 100 ページ 前回はこちら Effective Java 読書会 4 日目「最近はあまり継承とか使わないらしい」 - IT戦記 オーバーライド可能なメソッド自己利用(self-use)のドキュメント化 たとえば、 AbstractCollection#remove の以下の部分 This implementation iterates over the collection looking for the specified element. この実装は、指定要素を探すために走査をします。 If it finds the element, it removes the element from the collection using the iterator's remove method. 要素が見つかればイテレータの

    Effective Java 読書会 5 日目 「最後に見せたツンデレ」 - IT戦記