Computer
PHPセッションアダプションをスクリプト側で修正する方法
PHPのスクリプトを使ってアダプティブなPHPセッションをアダプティブにしない方法を紹介します。 このブログで紹介していたかどうか覚えていないですが、セッションアダプション対策としてsession_regenerate_id()が導入された時に議論・紹介されているので知っている方も多いと思います。(というより、PHPerの常識ですよね?) まずはセッションア…
PHP 5.4の文字エンコーディング設定
PHP 5.4 RC1が公開されています。PHP 5.4のリリースが近いです。PHP 5.3の--enable-zend-multibyeの問題でバグレポートをした関係でinternals MLでメールのやり取りをして分った事とその他をまとめておきます。主にSJISを使う場合の注意点です。間違い・勘違いもあるかも知れないので気が付いたらコメントを下さい。 P…
PHPのSession Adoption脆弱性
PHPのセッションモジュールはセッションアダプションに脆弱なのですが、開発者の理解が得られず何年間も放置されています。 セッションアダプション脆弱性: 未初期化のセッションIDを受け入れてセッションを確立する脆弱性。 PHPのセッションIDはデフォルトでドメイン指定無し、パスは/に設定されています。専用サイトならこれであまり困ることは無いのですが、複数のアプ…
PROVE for PHP Ver 1.0
まだまだ完成度を高める必要がありますが、PHPのリグレッションテストツールのPROVE for PHPのダウンロードを開始しました。 http://www.provephp.com/ PHPのテストスイートの設定を忘れていてPDOオブジェクトのサポートできてない事に直前に気がついたのでPDOには対応していません。これは出来るだけ早急に対応します。 Dokuw…
PROVE for PHP 0.4.0-dev リリース
PROVE for PHP 0.4.0をリリースしました。 IOをプラグイン化(将来PostgreSQLなどに対応) prove_seek_function_call()を追加 ハードリンクによるコピーに対応(高速化) prove_rename_function()の無効化(PHP 5.3のZend Engineの仕様変更により関数名変更はメモリエラーが発生…
もうバージョンアップで困らない – PROVE for PHP
昨年のPHPカンファレンスで紹介したPORVE for PHP 開発版の公開を始めました。PROVE for PHPはこんなテストが出来ます。 PHPをアップデートしてアプリに影響が無い事を検証する PHPアプリをアップデートしても以前と同じように動作する事を検証する 使い方もとても簡単です。 テストケースの作成はブラウザからアプリを利用するだけ ロードバラ…
error: unable to index file – 初めてのGitエラー
Gitを使っていて初めてエラーらしいエラーに合いました。検索してもコレという物がヒットしなかったので書きます。 error: unable to index file aaa fatal: updating files failed などと出るエラーですが 既にファイルとしてコミットしているパスを、ディレクトリにしてコミットしようとする と出るエラーのようで…
phpのescapeshellcmdの余計なお世話を無くすパッチ
徳丸さんのブログでescapeshellcmdの余計なお世話の件が指摘されていたのでパッチを作りました。これmagic quoteと同じレベルの余計なお世話なのですが放置されています。個人的にはどのような関数にも全てバリデーション済みの文字列しか渡さないのでセキュリティ問題は発生しないのですが、UNIX系OSではペアとなる"と'はエスケープしない仕様に気が付…
php – 短縮URLを一行で展開する
perl - 短縮URLを一行で展開する という記事があったのでPHPでやるとどうかなと作ってみた。(と言うほどの物ではありませんけど)本当に一行にするには無理があったのでの実際には2行です。他に良い方法があるかな? $ php -r '$h=get_headers($argv[1], 1);echo $h["Location"];' http://j.mp…
オープンセミナー2011@広島 2011/1/22開催
JPUG四国支部、オープンセミナー実行委員会主催のオープンセミナー2011@広島が2011/1/22(土)に開催されます。UST中継も予定されていまるので遠方の方もご覧いただけます。 http://openseminar.localnetwork.jp/osjp2011_hiroshima (さらに…)