X

Programming

PHPのmt_rand関数が壊れている問題

PHPのmt_rand関数のtwistマクロに一文字タイポがあり、修正されたのですが http://git.php.net/?p=php-src.git;a=commitdiff;h=a0724d30817600540946b41e40f4cfc2a0c30f80 でリバートされてしまいました。 追記 PHP 7.1からMT randのコードが修正されていま…

セキュアプログラミングの7つ習慣

セキュアなプログラミングには基本的な考え方があります。それ守ることによりセキュアなプログラムを作ることができます。基本的な考え方を無視または意識しないでセキュアなプログラミングを目指しても遠回りだったり、漏れが生まれたりします。基本的な考え方を無視・意識しないでセキュアなプログラミングを行おうとしても無理があります。 ここで紹介するのは私の考えであり、どこか…

PHPバイトコードキャッシュの性能 – Opcache

PHPの性能はバイトコードキャッシュにより数倍向上するのですが、久しぶりにopcacheをキーワードに検索してみると「それほど効果がない」と誤った評価をしているページもあったので、Opcacheによりどのくらい速くなるか簡単なベンチマークをします。 (さらに…)

マイナンバーのチェックデジット確認

マイナンバーのチェックディジットを確認する必要があったのでPHP関数を作りました。

ReDoSの回避

正規表現のアルゴリズムを攻撃するDoS攻撃のReDoSを可能な限り回避する方法を考えてみます。

正規表現を使ったDoS – ReDoS

いつかは忘れるくらい前に正規表現のアルゴリズム自体を利用してDoS攻撃を行うReDoSが発表されていました。今まで気にしていなかったのですが、検索しても日本語のページが出てこないようでした。詳しく知るためのリンクなどを紹介します。

ほとんどのセキュリティ問題はインジェクション問題 – インジェクションパターンとして理解すると簡単

セキュリティ問題のほとんどはインジェクション問題と考えることができます。インジェクション問題として考えられるセキュリティ問題のモデル化を考えます。 実際のセキュリティ問題は多種多様で非常に複雑ですが、シンプルなモデルで考えると理解り易く、多くのセキュリティ問題を体系的に理解できます。

PHP7からクロージャーの即時呼び出しが可能に

しばらく前(と言っても確か今年)、PHP開発者MLにクロージャーがその場で呼び出せないのは不便だ、と書いた事があるのですが知らない間に追加されていました。

リクエストフォージェリを再考 – リクエストのインジェクションと考える

リクエストフォージェリを再考してみたいと思います。リクエストフォージェリには SSRF(サーバーサイドリクエストフォージェリ) CSRF(クロスサイトリクエストフォージェリ) XXE(XMLエクスターナルエンティティ) などがあります。これらは「リクエスト」を「偽装」(フォージェリ)する攻撃です。名前からは直感的にどのような攻撃なのかよく解らないですが、「リ…

Fedora22用のPhalcon 2.0.6のSRPM

Fedora22用のPhalcon RPMパッケージを作ったのでダウンロードできるようにしておきます。