yohgaki's blog

書かない日記

  • ホーム
  • 連絡先
  • Log in

PHPのStrict Sessionパッチ

3月 28th, 2012

のんびりしていた訳ではありませんが、PHP 5.4.1のブランチが作られたので慌ててStrict Sessionパッチを改訂しました。

master
https://gist.github.com/1379668

5.4
https://gist.github.com/2224196

5.3
https://gist.github.com/2224360

以前、Gistに入れていたパッチとの違いは、

  • PSモジュール(セッションセーブハンドラ)のAPIを変更しないように修正
    (これにより使っているハンドラが対策済みかどうかは見て分かるようには出来なくなりました。その代りにmemcacheなどのサードパーティのセーブハンドラのコンパイル済みバイナリとの互換性を維持しています。)
  • セッションIDのコリージョン(衝突)を検出
    (三回リトライしてもコリージョンする場合はエラー。通常、三回もコリージョンすることはまずあり得ません。)

となります。

PSモジュールを書く方(ユーザセーブハンドラ含む)はセッションをOPENする場合にセッションIDが初期化済みか、チェックする必要があります。

と、ここまで書いてパッチに多少問題がある事に気が付きました。自動生成する場合はコリージョンを検出していますが、session_regenerate_id()で生成する場合はコリージョンをチェックしていません。session_regenerate_id()を呼んだ時もチェックしないと片手落ちなので近いうちに修正します。

パッチを書いていてsession_write_close()してsession_start()をした場合、おかしくなることに気が付きました。困っている人が居るか、バグDBを検索するとやはり数人からバグレポートされていました。この件は別途に対応する事にします。

パッチを使ってみてくださる方、大募集です。ZTS、Non-ZTSの両方でUNITテストは実行していますが、Webサーバでテストしていません。動いたら、Twiterなどで良いので教えてください。よろしくお願いします。

 

このパッチについては、こちらをご覧ください。これは私が書いているのでおかしな英語があった場合、教えて頂けると助かります。

https://wiki.php.net/rfc/strict_sessions

投稿された Security, PHP, Webシステム開発, 言語 | 永続的リンク永続的リンク | フィードバックを送信 »

「PHP徹底構築」を頂きました

3月 25th, 2012

廣川類さんが執筆された「PHP徹底構築」を頂きました。3/29日発売らしくアマゾンでも予約受付中の出来たてホヤホヤの本です。書籍イメージも無かったので自分の携帯で撮った写真を載せておきます。

最新版のPHP 5.4にも対応しています。先程届いたばかりなので読むのはこれからですが、内容を簡単に紹介します。

Full story »

投稿された PHP, Webシステム開発, 言語 | 永続的リンク永続的リンク | フィードバックを送信 »

OSC愛媛2012の資料 - PHP5.4とはどんなPHPなのか?

3月 25th, 2012

OSC愛媛2012の「PHP5.4とはどんなPHPなのか?」の資料を公開します。ポイントは以下の通り。

  • PHP 5.4は基本的にはベターPHP5.3
  • 互換性問題もあるが、一般に致命的な問題はない
  • 全般にPHP5.4は速い
  • 移行を考えている方は早い方が良い(使える期間が長くなる)
  • ディストリビューションのPHPを使う、という選択もある(RHEL6 PHP5.3, Ubuntu LTS PHP5.4?)

プラットフォームの選択には様々な事情がありますが、Traitsはコードを効率良く再利用するには便利な機能です。さっと移行してしまうのも良いでしょう。

ところで、Traitsの例としてアクセサの実装例を紹介しています。

https://gist.github.com/1379592

しかし、次のPHPではC#風のアクセサ文法がサポートされる可能性があります。

https://wiki.php.net/rfc/propertygetsetsyntax

こちらの方が色々便利です。利用する場合は、このような文法が実装される可能性があることを理解した上で使うと良いと思います。

Attachments:

  • ダウンロード OSC-Ehime2012-PHP5.4.pdf (4.8 MB)

投稿された PHP, 言語 | 永続的リンク永続的リンク | フィードバックを送信 »

PHP Git Repository

3月 21st, 2012

PHPのソースコードのリポジトリがSubversionからGitに移行しました。

https://wiki.php.net/vcs/gitfaq

個人的には、これで色々楽になります。

投稿された PHP | 永続的リンク永続的リンク | フィードバックを送信 »

第二回 岡山PHP勉強会のスライド

3月 17th, 2012

第二回 岡山PHP勉強会のスライドです。

遅くなりました。多少追記したい部分があったのですが、取り敢えず公開します。

Attachments:

  • ダウンロード okaphp02-20120317.pdf (3.9 MB)

投稿された Security, PHP | 永続的リンク永続的リンク | フィードバックを送信 »

PHP: comma vs. dot #2

3月 10th, 2012

少し前にPHPのechoはカンマとドット、どちらの方が速い?というエントリを書きました。

http://blog.ohgaki.net/echo-comma-vs-dot

この時は長めの細切れな文字列を連結しています。カンマの方が2割ほど速い結果でした。古いPHPでは短く単純な文字列の場合もで速かった、と記憶していました。手元のPHP5.3の性能が気になったのでabで簡単に試してみました。

Full story »

投稿された PHP, Webシステム開発, 言語 | 永続的リンク永続的リンク | フィードバックを送信 »

Git Hubの脆弱性とMass Asssignment

3月 6th, 2012

Git HubがMass Assignment脆弱性に脆弱で他のレポジトリが見れる状態だったらしい。問題は既に修正されています。

この脆弱性はRailsに限った事ではないし、古くからPHPを使っているユーザにとってはある意味懐かしい脆弱性でもあると思ったのでエントリを書いてみました。

Full story »

投稿された PHP, Ruby, Webシステム開発 | 永続的リンク永続的リンク | フィードバックを送信 »

PHP 5.4 リリース!!

3月 2nd, 2012

リンク: http://www.php.net/archive/2012.php#id2012-03-01-1

PHP 5.4がリリースされました。

詳細はソースに添付されているUPGRADINGとNEWS、マニュアルのマイグレーションガイドから参照できます。

Full story »

投稿された PHP, Webシステム開発, 言語 | 永続的リンク永続的リンク | フィードバックを送信 »

echo:comma vs dot

2月 21st, 2012

昨日、echo 'abc','xyz'  (カンマ) と echo 'abc'.'xyz' (ドット) とどちらが速い?と言う話になったので簡単な実験をしてみました。

PHPのソースコードを見るとどちらも有利な点と不利な点があります。随分前に試した時も一般にカンマの方が速いと思える結果でしたがPHP5.3ではどうなのか試してみました。

Full story »

投稿された PHP, Webシステム開発, 言語 | 永続的リンク永続的リンク | フィードバックを送信 »

Apple KeyboardをLinuxとWindowsで使用する 

2月 8th, 2012

HHKが壊れてしばらく普通のJIS配列キーボードを使っていたのですが、我慢ができなくなりLinux PC用にJIS配列Apple KeyboardのUSB版(フルサイズのApple Keyboard)を購入しました。

Macbookと同じ配列のワイヤレスの場合、長時間の入力には向かない、とAppleサイトの製品レビューにはあったのでUSB版を購入しました。

Full story »

投稿された Linux, Windows, Mac, Apple | 永続的リンク永続的リンク | フィードバックを送信 »

1 2 3 4 5 6 7 8 9 10 11 ... 102 >>


Add to Google
はてなRSSに追加 この日記のはてなブックマーク数
Livedoor ReaderMy Yahoo!に追加
  • XML Feeds

    • RSS 2.0: 投稿, コメント
    • Atom: 投稿, コメント
    What is RSS?
  • 5月 2012
    月 火 水 木 金 土 日
     << <   > >>
      1 2 3 4 5 6
    7 8 9 10 11 12 13
    14 15 16 17 18 19 20
    21 22 23 24 25 26 27
    28 29 30 31      
    • 最新
    • アーカイブ
    • カテゴリ
    • 最近のコメント
  • yohgaki's blog

  • Webサイトの設計・開発・チューニング・セキュリティ監査などを仕事にしています。書かない日記のつもりが結構書いてしまっています。個人的に気になったことなどを思いのままに書いています。他の方に役立つかは不明です。

    あまり一般的に役立つとは思えないですがWikiもあります。著書のサポートなどはWikiで行います。興味のある方はWikiもご覧下さい。

    ご意見などはメールでもコメントでもお好きな方法でお願いします。メールの場合、できるだけSPAMと間違えないようなタイトルをお願いします。

    Yasuo Ohgaki (大垣 靖男)

    PHPセキュリティに関連するブログをgihyo.jpにも掲載しています。

    PHP関連の話題をcodeblog.orgに載せていました。


    Twitter Updates

      follow me on Twitter


    • カテゴリ

      • 全て
      • Android
        • Xperia
      • Internet
      • PROVE for PHP
      • ToDo
      • Zero3
      • コンピュータ
        • Apple
        • b2evolution
        • Linux
          • Momonga Linux
        • Mac
        • Mozilla
        • MySQL
        • PostgreSQL
        • Security
          • エンドユーザ
        • SQLite
        • Webシステム開発
          • ZendFramework
        • Windows
        • 言語
          • Java
          • JavaScript
          • Perl
          • PHP
            • the Month of PHP Bugs
          • Python
          • Ruby
      • メモ
      • レビュー
      • 書評
      • 本
      • 機器
      • 生活
      • 著作
        • ZendFrameworkで作る『イマドキ』のWebアプリケーション
      • 雑文


    連絡先