タグ

ブックマーク / ockeghem.hatenablog.jp (4)

  • PHP逆引きレシピは概ね良いが、SQLインジェクションに関しては残念なことに - ockeghem's blog

    404方面でも絶賛されていたPHP逆引きレシピを購入した。書はとても丁寧な仕事で素晴らしいと思ったが、セキュリティに関しては若干残念な思いをしたので、それを書こうと思う。 目次は以下のようになっている。 第1章 準備 第2章 PHPの基構文 第3章 PHPの基テクニック 第4章 ファイルとディレクトリ 第5章 PEARとSmarty 第6章 Webプログラミング 第7章 クラスとオブジェクト 第8章 セキュリティ 8.1 セキュリティ対策の基 8.2 PHPの設定 8.3 セキュリティ対策 第9章 トラブルシューティング 第10章 アプリケーション編 PHP逆引きレシピ オフィシャルサポート 書は、タイトルの示すように、コレコレしたいという目的ごとにPHPでの書き方が書かれている。よくある逆引き辞典タイプのだが、類書に比べて丁寧に書かれている印象を受けた。私が感心したのは、PH

    PHP逆引きレシピは概ね良いが、SQLインジェクションに関しては残念なことに - ockeghem's blog
    HHR
    HHR 2009/07/12
    PHP逆引きレシピ
  • ミニミニブログにCSRF脆弱性 - ockeghem's blog

    前回に引き続き、はじめてのPHPプログラミング 基編5.3対応のゆるいところ第三段は、書に紹介されているミニミニブログにクロスサイト・リクエストフォージェリ(CSRF)脆弱性があるというものだ。 このミニミニブログは、BASIC認証を利用していて、twitterやwassrなどのように一行コメントが書き込めるというものだ。BASIC認証、投稿機能があればCSRF脆弱性の対策が必要だが、書にはCSRFに対する解説は特にないので、調べるまでもなくCSRF脆弱性があるのだろうと思っていた。 しかし、人様の書籍に確認もしないで脆弱性指摘をするのも失礼なので、以下のように簡単な検証コードを書いて試してみた。 <html><body> <form action="http://localhost/hajimete_php5/miniblog/index.php" method="post"> <

    ミニミニブログにCSRF脆弱性 - ockeghem's blog
    HHR
    HHR 2008/11/21
  • Shift_JISを利用することの是非 - ockeghem's blog

    前回に引き続き、はじめてのPHPプログラミング 基編5.3対応のゆるいところ第二段は、文字エンコーディングについてだ。 書は、文字エンコーディングとしてShift_JISを採用している。しかし、家から配布されているWindows用バイナリのPHP処理系は、「--enable-zend-multibyte」というオプションが設定されていないため、2バイト目が0x5Cで終わる文字が正しく扱えない。このため、以下のPHPスクリプトはエラーになる。いわゆる5C問題である。著者には、ブログのコメントとして確認した。 <?php $a = "表"; ?> 文字列リテラルを"表\"としてやればエラーは回避できるが、わずらわしいし、第一みっともない(前世紀のスクリプトみたいだ)。 やはり、ソースコードはEUC-JPかUTF-8で記述すべきだったと思う。前に取り上げたPHP×携帯サイト デベロッパーズ

    HHR
    HHR 2008/11/21
  • 「はじめてのPHPプログラミング基本編5.3対応」のゆるいところ(1) - データベースファイルは公開ディレクトリに格納すべきではない

    先日の日記書籍「はじめてのPHPプログラミング基編5.3対応」にSQLインジェクション脆弱性 - 徳丸浩の日記(2008-10-29)にて、はじめてのPHPプログラミング 基編―5.3対応を取り上げた際に、『その「ゆるさ」のゆえんはおいおい報告する』と予告していた。書くネタは決まっていたのだが、多忙のために果たせていなかったが、今日から少しずつ報告しよう。まずはデータベースの格納場所についてだ。 書ではSQLの説明にSQLiteを使用している。SQLiteは、常駐サービス/デーモンがなく、アクセスライブラリが直接単一のデータファイルを参照する実装となっていて、早い話がACCESS(.mdb)のような実装だ。このデータファイルの置き場所が問題だ。 書には、以下のような記述がある。 現時点でindex.phpSQLiteのデータベースファイルminiblogが同じディレクトリに存在し

    「はじめてのPHPプログラミング基本編5.3対応」のゆるいところ(1) - データベースファイルは公開ディレクトリに格納すべきではない
    HHR
    HHR 2008/11/21
  • 1