タグ

phpに関するgemini7のブックマーク (6)

  • PHP5.3.7のcrypt関数のバグはこうして生まれた

    昨日のブログエントリ「PHP5.3.7のcrypt関数に致命的な脆弱性(Bug #55439)」にて、crypt関数の重大な脆弱性について報告しました。脆弱性の出方が近年まれに見るほどのものだったので、twitterやブクマなどを見ても、「どうしてこうなった」という疑問を多数目にしました。 そこで、このエントリでは、この脆弱性がどのように混入したのかを追ってみたいと思います。 PHPのレポジトリのログや公開されているソースの状況から、PHP5.3.7RC4までこのバグはなく、PHP5.3.7RC5でこのバグが混入した模様です。RC5はPHP5.3.7最後のRelease Candidateですから、まさに正式リリースの直前でバグが入ったことになります。 バグの入る直前のソースは、ここの関数php_md5_crypt_rから参照することができます。以下に、おおまかな流れを図示します。まずはバ

    PHP5.3.7のcrypt関数のバグはこうして生まれた
  • もし『よくわかるPHPの教科書』の著者が徳丸浩の『安全なWebアプリケーションの作り方』を読んだら - ockeghem's blog

    たにぐちまことさんの書かれた『よくわかるPHPの教科書(以下、「よくわかる」)』を購入してパラパラと見ていたら、セキュリティ上の問題がかなりあることに気がつきました。そこで、拙著「体系的に学ぶ 安全なWebアプリケーションの作り方(以下、徳丸)」の章・節毎に照らし合わせて、「よくわかる」の脆弱性について報告します。主に、徳丸の4章と5章を参照します。 4.2 入力処理とセキュリティ 「よくわかる」のサンプルや解説では、入力値検証はほとんどしていません。しかし、入力値検証をしていないからといって即脆弱かというとそうではありません。徳丸でも強調しているように、入力値検証はアプリケーション要件(仕様)に沿っていることを確認するもので、セキュリティ対策が目的ではないからです。 「よくわかる」の中で、私が見た範囲で唯一の入力値検証は、郵便番号のチェックをするものです。以下に引用します(「よくわ

    もし『よくわかるPHPの教科書』の著者が徳丸浩の『安全なWebアプリケーションの作り方』を読んだら - ockeghem's blog
  • 電話を使ったWEBサービスを構築する際に使えそうなフレームワーク「Plivo」:phpspot開発日誌

    Plivo 電話を使ったWEBサービスを構築する際に使えそうなフレームワーク「Plivo」。 マイクなどを使って録音し、WEBに簡単にアップロードしてシェアできたりする「こえ部」が面白かったりしますが、Plivoを使えば電話とアプリケーションを絡めたサービスを作る際に使えそうです。 システムとの対話にはREST APIを使い、RESTの仕様を覚えれば内部について深く知らなくてもある程度使えるようなものになっているみたい。 例えば、スカイプやGTalk等からのリクエストを自分のアプリケーションに流した後、何らかの処理を行い、mp3音声を返すみたいなことが出来るようです。 Amazon EC2に登録したりすると電話がかかってきたりしますが、おんなじような仕組みなんでしょうかね。 各種言語用のヘルパーライブラリもあるみたい。PHPでいうとこちら 実際に試してみたわけでもなく、なんとなく面白そう、

  • 睡眠学習的PHPer生活 (PHP Advent Calendar 2010 13日目) - cakephperの日記(CakePHP, Laravel, PHP)

    こんにちは、cakephperです。PHP Advent Calendar 2010の13日目の担当です。 PHPを使っていると覚えきれない数の関数を目にしますね。その関数が何をするか、どういった引数を取るかなんて全部覚える必要はないですが、どんな名前のものがあるか覚えておくと、やりたいことがあったときにある程度推測で使えそうな関数が絞れることがあります。 じゃあ、どうやってその関数を覚えるのか。一番楽な方法は寝ながら覚えることですよね?じゃあやってみましょうか :) MacOSにはsayコマンドというものがあって、英語の文字をしゃべらせることができます。今回はこのsayコマンドを使って音声ファイルを作成し、夜寝ている時にこの音声ファイルを再生させて覚えることにしましょう。たぶん毎日やれば来年の今頃はすらすらと関数名が出てくるはず! ちなみにWindowsでも同じようなことができます まず

  • Scripting Languages I: Node.js, Python, PHP, Ruby - Hyperpolyglot

    a side-by-side reference sheet sheet one: version | grammar and execution | variables and expressions | arithmetic and logic | strings | regexes | dates and time | arrays | dictionaries | functions | execution control | exceptions | threads sheet two: streams | asynchronous events | files | file formats | directories | processes and environment | option parsing | libraries and namespaces | objects

  • Snow LeopardにQuestion2Answerをインストールした - rabbit2goのブログ

    開発チーム以外との情報共有用としてQuestion2Answerを導入してみた。従来はメールやExcelファイルで問い合わせ事項のやり取りを行うことが多かったけれど、その方法ではどうしても手間がかかるし、情報が関係者のみに留まってしまって共有範囲に制約が出てしまう。Tracを使っても良いのだけど「チケット」という用語を始めとして専門家向けのインターフェースなので、開発者以外の人には少々取っ付きにくい。 Question2AnswerはPHPベースのQ&Aシステムで、質問と回答をシンプルにやり取りするためのツールだ。嬉しいことに日語に翻訳してくれている方がいるので、その日語リソースも使わせてもらった。今回のインストール環境は下記の通り。 MacOS X 10.6.4 (Snow Leopard) Question2Answer 1.2.1 MySQL 5.1.48 (MacPorts)

    Snow LeopardにQuestion2Answerをインストールした - rabbit2goのブログ
  • 1